Comments (4)
@arichr Glad that you find the book useful. A few years back, I had a plan to continue the book, which was roughly like this:
-
After writing your own simple bootloader, we start incorporating syslinux to load our bare-metal application (our "OS" in this case) directly in 32-bit mode. syslinux can also be used to call BIOS interrupts, so you can use it to access the 16-bit interrupt facility (similar to how DOS used the interrupts).
-
Then, you learn to build 32-bit code that call 16-bit interrupts by switching back to 16-bit mode, call the interrupts and switch back to 32-bit mode again. However, to do this, code layout is switched between 32-bit to 16-bit code as well, but GCC cannot compile C to 16-bit mode, but OpenWatcom compiler can: https://www.openwatcom.org/. Then, instead of writing assembly for 16-bit code, you write C.
-
Why bother doing all this 16/32-bit mode-switching gymnastics? Because to lessen the burden of implementing firmware to communicate with hardware devices. An OS needs drivers to communicate and manage hardware, but at this learning stage, learning how to write code that manages CPU and memory at bare-metal level is difficult enough.
-
Then, you start implementing OS-related algorithms.
That was the plan. Hopefully, I can make it real in the next few years. For now, I am busy with my daily job and my family.
from os01.
Thank you for your response. It is great just to know that you are doing well. Please take your time.
from os01.
Related Issues (20)
- [pg.73][Code]
- How a processor reads data from a network card HOT 3
- Fundamental algorithms and data structures
- [pg.211][Code] DISK_IMAGE path error
- [pg. 101, fg. 4.9.6][Content or Typo] Wrong representation of stack layout
- Write character to cursor seems to break program counter
- Chapt. 2.1 (page 12) wrong text
- Error in the figure 4.9.1 on page 93
- Is this discontinued? HOT 6
- [Feature] Add support to export the book as EPUB
- Suggestion HOT 1
- [pg.266][typo] Incorrect command
- [p.22][typo] rermember
- [p.50][typo] thath
- [p211] Typo
- [p214][typo]
- What are the plans for completion ? HOT 1
- [p101] bad figure4.9.6
- Permission for translation and changes
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from os01.