In this video,
I will talk about the things you need to know before you take this course. The projects in this course
can be running both in virtual machine and real machine. If you want to test the projects in your computer.
I highly recommend using a test computer with no hard disk and other peripherals.
And the processor needs to support 1g huge page.
So your test computer should be like this,
the processor should be manufactured in year 2013 or later.
The computer has no other devices except cpu and ram.
If you want to use a keyboard, you need a ps/2 keyboard.
The reason we use test computers is that unlike we write user programs, the operating system runs in bare metal machines.
our code has control of the computer.
When we test the code in the real machine,
if our code contains errors and we don’t have interrupt handlers, the computer will restart.
As a result, we could reset the computer frequently.
Therefore, running the projects in a test computer is a good choice.
What we are going to talk about next is usb flash drive. In this course,
we write our system in a usb flash drive and boot the computer from it.
When you write the project into usb flash drive, I recommend using rufus to do the task if you use windows
.
Because rufus can list the usb drive for you and if you don’t plug usb drive in the computer,
no device will be showing in the list. So it can prevent us from writing into a wrong device which could overwrite
the data in that device.
We will see how to use it in the next section.
Now, let's talk about the source code itself, this course focuses on teaching you how to write a simple
system and show you the fundamentals of operating system.
Building a simple operating system is not an easy task.
It requires us to be familiar with the hardware architecture and low-level stuffs.
The primary goal of this caucus is making sure that you understand the content in each lecture and what
the code is actually doing.
The content is delivering in a concise, easy to understand way, therefore I will keep the minimum checks
in the code. In the following lectures,
you could see we still have a lot of checks in the code to keep the operating system working.
Adding more checks could distract you from the real stuff of the course. Once you learn the details
of building the system, you can add more checks yourself to make the system more robust.