Overview
Overview
This post is an overview. Just think about it like “Most of them have this and that” and move on.
The concepts shown here will be covered in detail in a later posting.
Anyone who has used a computer has heard the word OS.
Windows, macOS, Linux, etc., which we’ve heard about once in our lives, are all operating systems.
Why do I need an OS? It is necessary for resource management.
ls I will talk about OS in the next, resources(cpu, memory, etc …) are limited and very important.
First, I will briefly explain the computer system and OS.
Computer System
Before we get into the OS, let’s take a look at the CPU and computer structure.
These are structure summaries of the CPU and Computer.
picture [1-1] Computer structure
picture [1-2] CPU structure
The computer consists largely of CPU, main memory, and I/O modules,
and the CPU consists of ALU, a memory area register, and a control unit.
Various inputs and commands are passed through the bus to memory and registers, registers and ALUs, and many other devices.
The memory is hierarchical.
picture [2] Memory hierarchy
The closer it is to the CPU, the faster it is, and the closer it is to the HDD (the more SSD or NVME is used in parallel these days), the slower it is and the larger the capacity.
good terms to know
- GPU: Graphical Proccessing Unit.
It is equipped with hundreds or thousands of cores.
- SIMD: Single Instruction Multi Data.
It is a type of parallel processing that enables a single instruction to be executed simultaneously on multiple pieces of data.
- DSP: Digital Signal Processor.
It is a specialized microprocessor designed for processing digital signals such as audio, video, and telecommunications signals.
Operating System
There’s one I need to make sure before start os.
OS is an omnipotent system, but it’s like a program.
The command, flow, and fetch will be explained in “Chap2. process”,
but what is dispatched is that the OS is called between programs as well as regular programs to manage resources.
OS is an interface between application and hardware.
If you look at the overall structure briefly,
interface | full-name | for |
---|---|---|
API | Application Programming Interface | app |
ABI | Application Binary Interface | os |
ISA | Instruction Set Architecture | hardware |
table [1] library
It can be represented like above.
Upgrade steps of OS
I’ll describe the concept of OS with the development steps of OS.
step | Index |
---|---|
step 5 | multi physics (multi core) |
step 4 | time-sharing |
step 3 | multi programming batch system |
step 2 | simple batch system |
step 1 | serial process |
table [2] steps of upgrade
Step 1. serial process
It’s the beginning of the process, It is not Operating System.
Step 2. simple batch system
It is a method of sequentially processing programs over time.
+--- monitor ---+ +--- monitor ---+ +--- monitor ---+
| | | | | |
| | => program A => | | => program B => | | => ...
| | | | | |
+---------------+ +---------------+ +---------------+
These are the conditions for the desirable behavior shown at this stage.
- monitor memory protection.
- Timer.
- privileged Instruction. (user mode / kernel mode)
- Interrupt.
Step 3. multi programming batch system.
It’s to keep various programs running nonstop.
How multiple user programs are handled as if they were running simultaneously.
The concept of concurrency emerges.
Parallel processes of multi core and concurrency are different.
Step 4. time-sharing
Improved user responsiveness over multi-deployment approaches.
In general, each program sets its own time and runs only that amount of time and moves on to the next program.
Typically, there is a round-robin method.
Step 5. multi physics (multi core)
It literally means multiple cores.
OS documentation is based on single core.
Leave a comment