‫In this course, you will learn all about colonel development.
‫We start off small by learning Anthos real mode where we develop an actual bootloader, the boot from
‫real hardware.
‫We actually boots it on our real computers and we see hello world on the screen.
‫And there we go.
‫Hello world.
‫This program is self-sufficient.
‫It requires no operating system.
‫It is bootable code.
‫Your journey starts here throughout real NMO.
‫We also load sectors from our hard disk into memory.
‫Now, real mode is a compatibility mode by Intel that allows Intel processors to run as they ran maybe
‫20 or 30 years ago.
‫Real mode is a legacy mode by Intel.
‫It is fairly limited, but learning it is essential.
‫After we work with Intel's legacy McCole remote, we move to what's known as protected mode, which
‫is what all 32 bit operating systems use.
‫You are taught all about protected mode.
‫In this course, you learn all about virtual memory, memory virtualization, mapping virtual addresses
‫to physical addresses.
‫Our process is all shared the same addresses.
‫How is this even possible?
‫Or you will find out in this course we can have multiple processes running and they all share the same
‫memory addresses.
‫This is amazing.
‫It's called paging and this is all taught to you.
‫And by using paging, we can prevent processes from seeing certain parts of memory.
‫It's a great security feature and it allows us to compile all user programs at the same address.
‫You're going to learn all about this.
‫In this course, your kernel will be capable of handling the entire system memory.
‫It'll be able to allocate memory to different processes.
‫It'll be able to restrict memory access from certain processes.
‫This course shows you how to create processes for your operating system and load them into memory and
‫run them.
‫And we can have multitasking.
‫In this course.
‫You're taught how to make a multitasking kernel.
‫We can have multiple processes running at the exact same time.
‫Our processes can also be of the el-Fadl format.
‫OK, in this course we support two types of loading.
‫We can load binary files and we can load our files.
‫Now, all Linux programs are our files we're implementing and our to that can actually load files into
‫memory.
‫Now, I'm not saying you will be able to run Linux programs.
‫What I am saying is you will be able to load our files, which is fantastic because our files have headers.
‫They have information describing the process and how it should be laid in memory.
‫This is much more efficient than loading just binary files.
‫So this course takes you a step further by creating an actual elf LoDo.
‫You're also taught how to handle malicious programs.
‫Not all programs are nice.
‫What if someone writes a program that tries to modify your kernel?
‫What in our kernel, the kernel will know that you've done that and it will kill the process.
‫This is achieved by using, paging and setting up certain security rules on the different memory that
‫the process can access if it violates those rules.
‫And interrupt exception is called and our kernel will say, no, no, no, it'll kill the process and
‫unload it from memory, you're going to learn all of that and how to do that in this course.
‫You're also going to learn how to handle program crashes.
‫Sometimes programs do things by accident that they shouldn't.
‫Right now we need to handle that.
‫If we don't handle that, the process stays loaded in memory.
‫Now, you're taught how to unload the program when it crashes and how to detect when a program is crashed.
‫By the end of this course, you can expect to have a fully working 32 bit kernel, an operating system
‫with an interactive shell.
‫OK, think a command prompt.
‫You know, you can type into command prompt.
‫That's our interactive shell, something like that.
‫Your operating system, Colonel, will also be a multitasking operating system, Colonel, as I've already
‫said.
‫So we'll have multiple processors running at the same time.
‫You're going to learn how to do that in this course.
‫And by the end of this course, you will understand, Colonel, and operating system development very
‫well and you'll be able to take what you've learned to improve your colonel, adding new features.
‫And who knows, maybe that'll be the next the next enroll in this course today.