The computer itself is a bunch of hardware, the core of which is the CPU (arithmetic, controller) and memory devices.
In order to achieve the computer to obtain data, data input and output and so on need to input devices and output devices.
Inside the computer system: mainly through bridging access to the current system, through the South Bridge connection.
In order to make the most of the computing power of the computer, it is necessary to run multiple programs at the same time, and each program needs a coordinator, the kernel, to run. The kernel itself manages the hardware resources, and the hardware resources are virtualized into other, provided to the top of the operational procedures required. Why did you do that? If a program is run directly on the hardware, then the program itself can control the various properties of the hardware, the kernel other programs to run on the hardware, then these programs are likely to interfere with each other, a malicious application may cause other programs to exit. So a unified resource manager is needed. And any application that wants to use hardware must be done through the kernel. The kernel also does not allow the program to access the hardware directly, but rather through a system call. But the system call is cumbersome, the underlying, through the call interface, the library (Library,api,application program Interface) library itself has no interface calls, can not be called by itself.
Able to interact with the hardware: kernel, the kernel must be able to run on the CPU
For the stability of the system: there must be a mechanism to isolate the kernel from the other. There are four levels, Level 0: Kernel. Memory is divided into three segments: power-on self-test, kernel (kernel space), program sharing;
Execution procedure: The shell (the shell provides us with the condition of interacting with the computer)--tapping the keyboard--cpu---kernel (knowing which process the instruction was sent from)--the application
Shell:gui (Graphic user interface) graphical interface CLI (command line) interface
The operating system itself is a program that requires instructions and data to run. Where do you put the instruction data? Memory.
Kernel functions: Process management, memory management, file system, network function, hardware driver, security mechanism;
Original: Batch processing system: jobs1$$$ $jobs 2$$$$
Ge,bell,mit is ready to develop multi-user, multi-tasking with assembly language in the main frame above research and development.
Linux operating System (i)