Developing Your Own 32-bit Operating SystemThis tutorial builds upon an intermediate programmer's knowledge and explains how to design and develop a feature-rich operating system. With Developing Your Own 32-Bit Operating System, you'll not only get the theory behind basic operating system design, but also learn how to build your own operating system from scratch. Meet MMURTL, a full-featured, 32-bit, message-based, multitasking, real-time operating system that you can modify and use. In addition to learning how to program an operating system, you'll gain a general understanding of 32-bit programming and how other 32-bit operating systems work. Developing Your Own 32-Bit Operating System prepares you for the future in 32-bit systems programming. |
Was andere dazu sagen - Rezension schreiben
Es wurden keine Rezensionen gefunden.
Inhalt
General Discussion and Background | 13 |
Architecture and General Theory 3 The Tasking Model | 26 |
Interprocess Communications | 41 |
Memory Management | 55 |
The Hardware Interface | 81 |
OS Initialization | 99 |
Programming Interfaces | 115 |
MMURTLSpecific Details | 127 |
CheckMsgO | 363 |
NewTaskO | 366 |
SpawnTaskO | 368 |
AUocExchO | 370 |
DeAllocExchO | 371 |
GetTSSExchO | 373 |
SetPriorityO | 374 |
Memory Management Code | 378 |
Application Programming | 129 |
Terminology | 130 |
Starting a New Thread | 136 |
Systems Programming | 141 |
Writing MessageBased System Services | 142 |
The MMURTL Monitor Program | 159 |
Active Job Video and Keyboard | 160 |
The Debugger | 181 |
Using the Debugger | 182 |
Keyboard Service | 189 |
Available Service | 190 |
File System Service | 201 |
File Specifications | 202 |
API Specification | 221 |
Public Calls | 222 |
GetDMACount | 240 |
Respond | 254 |
MMURTL Sample Software | 265 |
A Simple Editor | 288 |
The Operating System Source Code | 325 |
Introduction to the Source Code | 327 |
Calling Conventions | 328 |
Building MMURTL | 331 |
Using Pieces of MMURTL in Your OS | 332 |
Using Pieces of MMURTL in Other Projects | 333 |
Kernel Code | 335 |
Naming Conventions | 336 |
Local Kernel Helper Functions | 337 |
deQueueMsg | 338 |
deQueueTSS | 339 |
enQueueRdy | 340 |
CbkRdyQ | 341 |
Internal Public Helper Functions | 342 |
GetExchOwner | 344 |
SetExchOwner | 345 |
SendAbort | 346 |
Public Kernel Functions | 348 |
Respond | 351 |
MoveRequestO | 354 |
SendMsgO | 355 |
ISendMsgO | 357 |
WaitMsgO | 359 |
InitMemMgmt | 379 |
FindHiPage | 381 |
FindLoPage | 382 |
MarkPage | 383 |
UnMarkPage | 384 |
LinToPhy | 385 |
AddRun | 387 |
AddAliasRun | 388 |
AddUserPT | 390 |
AddOSPT | 392 |
Public Memory Management Calls | 394 |
AddlDTGate | 395 |
AllocOSPage | 396 |
AliasMem | 397 |
DeAliasMem | 400 |
DeAllocPage | 401 |
QueryMemPages | 403 |
GetPhyAdd | 404 |
Timer Management Code | 405 |
Choosing a Standard Interval | 406 |
Timer Data | 407 |
Timer Code | 408 |
SleepO | 410 |
AlarmQ | 411 |
KillAlarmO | 412 |
MicroDelayO | 413 |
GetCMOSTimeO 414 | 416 |
Beep_Work | 418 |
Initialization Code | 419 |
OS Global Data | 420 |
Operating System Entry Point | 422 |
Initialization Helpers | 429 |
Job Management Code | 439 |
Reclamation of Resources | 440 |
Keyboard Data | 542 |
Keyboard Code | 550 |
Virtual Video Concept | 572 |
Relating MMURTLs Video Code to Your Operating System | 589 |
DASM Concepts | 664 |
DASM Source Files | 668 |
A 32Bit C Compiler | 699 |
Urheberrecht | |