OS Overview
์ด์์ฒด์ ์ ์ญํ
1. User Interface (ํธ๋ฆฌ์ฑ)
- CUI (Character User Interface)
- GUI (Graphical User Interface)
- EUCI (End-User Comfortable Interface)
2. Resource Management (ํจ์จ์ฑ)
- HW resource
- SW resource
3. Process and Thread Management
4. System Management
์ปดํจํฐ ์์คํ ์ ๊ตฌ์ฑ
![](https://blog.kakaocdn.net/dn/OVZPF/btrSsSayFiV/yX0R6VIBOB9jaSwPlkCUlk/img.png)
โ ์ด์์ฒด์ : System Call Interface + Kernel
โ System Call Interface: ์ฌ์ฉ์๊ฐ ์ง์ Kernerl์ ์ ์ดํ๋ ๊ฒ์ด ์๋๋ผ ํ์ํ ๊ธฐ๋ฅ๋ง ์์ฒญํ๋๋ก ํ๋ ์ธํฐํ์ด์ค
![](https://blog.kakaocdn.net/dn/bwsjXG/btrSm11yXJO/5keh60KMijhCYhBrUqN7q0/img.png)
์ด์์ฒด์ ์ ๊ตฌ๋ถ
1. ๋์ ์ฌ์ฉ์ ์
- Single User System
- Multi User System
2. ๋์ ์คํ ํ๋ก์ธ์ค ์
- Single Tasking System
- Multi Tasking System
3. ์์ ์ํ ๋ฐฉ์ (์ฌ์ฉ์๊ฐ ๋๋ผ๋ ์ฌ์ฉ ํ๊ฒฝ)
- Batch Processing System
- Time-Sharing System
- Distributed Processing System
- Real-Time System
๋์ ์ฌ์ฉ์ ์
๋จ์ผ ์ฌ์ฉ์ (Single user system)
โ ํ ๋ช ์ ์ฌ์ฉ์๋ง ์์คํ ์ฌ์ฉ ๊ฐ๋ฅ
- ํ ๋ช ์ ์ฌ์ฉ์๊ฐ ๋ชจ๋ ์์คํ ์์ ๋ ์
- ์์ ๊ด๋ฆฌ ๋ฐ ์์คํ ๋ณดํธ ๋ฐฉ์์ด ๊ฐ๋จ
โ ๊ฐ์ธ์ฉ ์ฅ๋น(PC, Mobile) ๋ฑ์ ์ฌ์ฉ
๋ค์ค ์ฌ์ฉ์ (Multi user system)
โ ๋์์ ์ฌ๋ฌ ์ฌ์ฉ์๋ค์ด ์์คํ ์ฌ์ฉ
- ๊ฐ์ข ์์คํ ์์(ํ์ผ ๋ฑ)์ ๋ํ ์์ ๊ถํ ๊ด๋ฆฌ ํ์
- ๊ธฐ๋ณธ์ ์ผ๋ก Multi Tasking ๊ธฐ๋ฅ ํ์
- OS์ ๊ธฐ๋ฅ ๋ฐ ๊ตฌ์กฐ๊ฐ ๋ณต์ก
โ ์๋ฒ, ํด๋ฌ์คํฐ(cluster) ์ฅ๋น ๋ฑ์ ์ฌ์ฉ
- Unix, Linux, Windows Server ๋ฑ
๋์ ์คํ ํ๋ก์ธ์ค ์
๋จ์ผ์์ (single tasking system)
โ ์์คํ ์ ํ๋์ ์์ (ํ๋ก์ธ์ค)๋ง ์กด์ฌ
- ํ๋์ ํ๋ก๊ทธ๋จ ์คํ์ ๋ง์น ๋ค ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ์คํ
โ ์ด์ ์ฒด์ ๊ตฌ์กฐ๊ฐ ๊ฐ๋จ
โ ex) MS - DOS
๋ค์ค ์์ (multi tasking system)
โ ๋์์ ์ฌ๋ฌ ์์ (ํ๋ก์ธ์ค)์ ์ํ ๊ฐ๋ฅ
- ์์ ๋ค ์ฌ์ด์ ๋์ ์ํ, ๋๊ธฐํ ๋ฑ์ ๊ด๋ฆฌํด์ผํจ
โ ์ด์์ฒด์ ์ ๊ธฐ๋ฅ ๋ฐ ๊ตฌ์กฐ๊ฐ ๋ณต์ก
โ ex) Unix/Linux, Windows ๋ฑ
์์ ์ํ ๋ฐฉ์
Batch Processing System (์ผ๊ด ์ฒ๋ฆฌ ์์คํ )
Time-Sharing System (์๋ถํ ์์คํ )
Distributed Processing System (๋ถ์ฐ์ฒ๋ฆฌ ์์คํ )
Real-Time System (์ค์๊ฐ ์์คํ )
์์ ์ํ ๋ฐฉ์์ ์ญ์ฌ
์์ฐจ ์ฒ๋ฆฌ (No OS ~ 1940s)
โ ์ด์์ฒด์ ๊ฐ๋ ์กด์ฌํ์ง ์์
- ์ฌ์ฉ์๊ฐ ๊ธฐ๊ณ์ด๋ก ์ง์ ํ๋ก๊ทธ๋จ ์์ฑ
- ์ปดํจํฐ์ ํ์ํ ๋ชจ๋ ์์ ํ๋ก๊ทธ๋จ์ ํฌํจ
โ ์คํํ๋ ์์ ๋ณ ์์ฐจ ์ฒ๋ฆฌ
- ๊ฐ๊ฐ์ ์์ ์ ๋ํ ์ค๋น ์๊ฐ ์์
Batch systems (1950s ~ 1960s)
![](https://blog.kakaocdn.net/dn/bPvnJM/btrSnESHMov/tVEQlrNgiZ5lskNktYMXV1/img.png)
โ ๋ชจ๋ ์์คํ
์ ์ค์(์ ์๊ณ์ฐ์ ๋ฑ)์์ ๊ด๋ฆฌ ๋ฐ ์ด์
โ ์ฌ์ฉ์์ ์์ฒญ ์์
(์ฒ๊ณต์นด๋ ๋ฑ)์ ์ผ์ ์๊ฐ ๋ชจ์๋์๋ค๊ฐ ํ๋ฒ์ ์ฒ๋ฆฌ
โ ์์คํ ์งํฅ์ (System-oriented)
โ ์ฅ์
- ๋ง์ ์ฌ์ฉ์๊ฐ ์์คํ ์์ ๊ณต์
- ์ฒ๋ฆฌ ํจ์จ(throughput) ํฅ์
โ ๋จ์
- ์์ฐ์ฑ(productivity) ์ ํ: ๊ฐ์ ์ ํ์ ์์ ์ด ๋ชจ์ด๊ธฐ๋ฅผ ๊ธฐ๋ค๋ ค์ผ ํ๋ค
- ๊ธด ์๋ต ์๊ฐ (turnaround time): ์ฝ 6์๊ฐ(์์ ์ ์ถ์์ ๊ฒฐ๊ณผ ์ถ๋ ฅ๊น์ง)
Time Sharing System (1960 ~ 1970)
![](https://blog.kakaocdn.net/dn/nvr84/btrSnDMYvtq/Uy3kGau80hdAG8iLEAhDVK/img.png)
โ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์์๋ค ๋์์ ์ฌ์ฉ
- OS๊ฐ ํ์ผ ์์คํ ๋ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
โ ์ฌ์ฉ์ ์งํฅ์ (User-Oriented)
- ๋ํํ (conversational, interactive) ์์คํ
- ๋จ๋ง๊ธฐ (CRT terminal) ์ฌ์ฉ
โ ์ฅ์
- ์๋ด์๊ฐ (response time) ๋จ์ถ (์ฝ 5์ด)
- ์์ฐ์ฑ ํฅ์
โ ๋จ์
- ํต์ ๋น์ฉ ์ฆ๊ฐ: ํต์ ์ ๋น์ฉ, ๋ณด์ ๋ฌธ์ ๋ฑ
- ๊ฐ์ธ ์ฌ์ฉ์ ์ฒด๊ฐ ์๋ ์ ํ: ๋์ ์ฌ์ฉ์ ์ ์ฆ๊ฐ๋ก ์ธํ ์์คํ ๋ถํ
Personal Computing
โ ๊ฐ์ธ์ด ์์คํ
์ ์ฒด ๋
์
โ CPU ํ์ฉ๋ฅ (utilization)์ด ๊ณ ๋ ค ๋์์ด ์๋๋ค
โ OS๊ฐ ์๋์ ์ผ๋ก ๋จ์ (ํ์ง๋ง ๋ค์ํ ์ฌ์ฉ์ ๊ธฐ๋ฅ ์ง์)
โ ์ฅ์
- ๋น ๋ฅธ ์๋ต์๊ฐ
โ ๋จ์
- ์ฑ๋ฅ(performance)์ด ๋ฎ์
Parallel Processing System
![](https://blog.kakaocdn.net/dn/b9T7J1/btrSsmix1jV/UbOU8RVBmbsZnLf2y7j340/img.png)
โ ๋จ์ผ ์์คํ
๋ด์์ ๋ ์ด์์ ํ๋ก์ธ์ ์ฌ์ฉ
โ ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ์์ ๊ณต์ (Tightly-coupled system)
โ ์ฌ์ฉ ๋ชฉ์
- ์ฑ๋ฅ ํฅ์
- ์ ๋ขฐ์ฑ ํฅ์ (ํ๋๊ฐ ๊ณ ์ฅํด๋ ์ ์ ๋์ ๊ฐ๋ฅ)
โ ํ๋ก์ธ์ ๊ฐ ๊ด๊ณ ๋ฐ ์ญํ ๊ด๋ฆฌ ํ์
Distributed Processing Systems
![](https://blog.kakaocdn.net/dn/I58iv/btrSqGIWDI9/Kq6k2UkclNAfDeDpbk39A0/img.png)
โ ๋คํธ์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ๋ณ์ณ์ฒ๋ฆฌ ์์คํ (Loosely-coupled system)
- ๋ฌผ๋ฆฌ์ ์ธ ๋ถ์ฐ, ํต์ ๋ง ์ด์ฉ ์ํธ ์ฐ๊ฒฐ
- ๊ฐ๊ฐ ์ด์์ฒด์ ๋ฅผ ํ์ฌํ ๋ค์์ ๋ฒ์ฉ ์์คํ ์ผ๋ก ๊ตฌ์ฑ
- ๊ฐ ๊ตฌ์ฑ์์ ๋ค ๊ฐ์ ๋ ๋ฆฝ์ฑ ์ ์ง, ๊ณต๋ ์์ ๊ฐ๋ฅ
- ์ฌ์ฉ์๋ ๋ถ์ฐ ์ด์ ์ฒด์ ๋ฅผ ํตํด ํ๋์ ํ๋ก๊ทธ๋จ, ์์์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ
โ ex: Cluster system, client-server system, P2P system
โ ์ฅ์
- ์์ ๊ณต์ ๋ฅผ ํตํ ๋์ ์ฑ๋ฅ
- ๊ณ ์ ๋ขฐ์ฑ, ๋์ ํ์ฅ์ฑ
โ ๋จ์
- ๊ตฌ์ถ ๋ฐ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๋ค
Real-time Systems
โ ์์ ์ฒ๋ฆฌ์ ์ ํ ์๊ฐ(deadline)์ ๊ฐ๋ ์์คํ
- ์ ํ ์๊ฐ ๋ด์ ์๋น๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์์ ํ์ฉ ํจ์จ๋ณด๋ค ์ค์!
โ ์์ (task)์ ์ข ๋ฅ
- Hard real-time task (๋ฐ์ ์ ์ ์ด, ๋ฌด๊ธฐ ์ ์ด ๋ฑ)
- soft real-time task (๋์์ ์ฌ์ ๋ฑ)
- Non real-time task
์ด์์ฒด์ ์ ๊ตฌ์กฐ
![](https://blog.kakaocdn.net/dn/cL8bRj/btrSrtI0S8z/8AS0DNWXyFsY0Ox9aAK0xK/img.png)
โ ์ปค๋(Kernel)
- OS์ ํต์ฌ ๋ถ๋ถ (๋ฉ๋ชจ๋ฆฌ ์์ฃผ): ์์คํ ๊ด๋ฆฌ ๋ฑ ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ๋ค์ ๋ด๋นํ๋ค.
โ ์ ํธ๋ฆฌํฐ (Utility)
- ๋น์์ฃผ ํ๋ก๊ทธ๋จ
- UI ๋ฑ ์๋น์ค ํ๋ก๊ทธ๋จ
๋จ์ผ ๊ตฌ์กฐ
![](https://blog.kakaocdn.net/dn/tYWFt/btrSq9jG3Qc/SoIMGLTwWzUsLdrvXjmfXK/img.png)
โ ์ฅ์
- ์ปค๋ ๋ด ๋ชจ๋ ๊ฐ ์ง์ ํต์ : ํจ์จ์ ์์ ๊ด๋ฆฌ ๋ฐ ์ฌ์ฉ
โ ๋จ์
- ์ปค๋์ ๊ฑฐ๋ํ
- ์ค๋ฅ ๋ฐ ๋ฒ๊ทธ, ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ ๋ฑ ์ ์ง๋ณด์๊ฐ ์ด๋ ค์
- ๋์ผ ๋ฉ๋ชจ๋ฆฌ์ ๋ชจ๋ ๊ธฐ๋ฅ์ด ์์ด, ํ ๋ชจ๋์ ๋ฌธ์ ๊ฐ ์ ์ฒด ์์คํ ์ ์ํฅ (ex: ์ ์ฑ ์ฝ๋)
๊ณ์ธต ๊ตฌ์กฐ
![](https://blog.kakaocdn.net/dn/oLAy8/btrSqFQOqZ9/6JXUpYuHShfaSbvfvNdy1k/img.png)
โ ์ฅ์
- ๋ชจ๋ํ: ๊ณ์ธต ๊ฐ ๊ฒ์ฆ ๋ฐ ์์ ์ฉ์
- ์ค๊ณ ๋ฐ ๊ตฌํ์ ๋จ์ํ
โ ๋จ์
- ๋จ์ผ ๊ตฌ์กฐ ๋๋น ์ฑ๋ฅ ์ ํ: ์ํ๋ ๊ธฐ๋ฅ ์ํ์ ์ํด ์ฌ๋ฌ ๊ณ์ธต์ ๊ฑฐ์ณ์ผ ํ๋ค.
๋ง์ดํฌ๋ก ์ปค๋ ๊ตฌ์กฐ
![](https://blog.kakaocdn.net/dn/bg4p2d/btrSnVUjWpo/yQxnyigFgExt7IL4Ntt5mk/img.png)
โ ์ปค๋์ ํฌ๊ธฐ ์ต์ํ
- ํ์ ๊ธฐ๋ฅ๋ง ํฌํจ
- ๊ธฐ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ์์ญ์์ ์ํ
์ด์์ฒด์ ์ ๊ธฐ๋ฅ
โ ํ๋ก์ธ์ค ๊ด๋ฆฌ
โ ํ๋ก์ธ์ ๊ด๋ฆฌ
โ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
โ ํ์ผ ๊ด๋ฆฌ
โ ์
์ถ๋ ฅ ๊ด๋ฆฌ
โ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น ๋ฐ ๊ธฐํ ์ฃผ๋ณ ์ฅ์น ๊ด๋ฆฌ ๋ฑ
Process Management
ํ๋ก์ธ์ค (Process)
โ ์ปค๋์ ๋ฑ๋ก๋ ์คํ ๋จ์ (์คํ ์ค์ธ ํ๋ก๊ทธ๋จ)
โ ์ฌ์ฉ์ ์์ฒญ/ํ๋ก๊ทธ๋จ์ ์ํ ์ฃผ์ฒด(entity)
OS์ ํ๋ก์ธ์ค ๊ด๋ฆฌ ๊ธฐ๋ฅ
โ ์์ฑ/์ญ์ , ์ํ ๊ด๋ฆฌ
โ ์์ ํ ๋น
โ ํ๋ก์ธ์ค ๊ฐ ํต์ ๋ฐ ๋๊ธฐํ
โ ๊ต์ฐฉ์ํ(deadlock) ํด๊ฒฐ
ํ๋ก์ธ์ค ์ ๋ณด ๊ด๋ฆฌ
โ PCB (Process Control Block)
Processor Management
์ค์ ์ฒ๋ฆฌ ์ฅ์น (CPU)
โ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ํต์ฌ ์์
ํ๋ก์ธ์ค ์ค์ผ์ค๋ง
โ ์์คํ ๋ด์ ํ๋ก์ธ์ค ์ฒ๋ฆฌ ์์ ๊ฒฐ์
ํ๋ก์ธ์ ํ ๋น ๊ด๋ฆฌ
โ ํ๋ก์ธ์ค๋ค์ ๋ํ ํ๋ก์ธ์ ํ ๋น
- ํ ๋ฒ์ ํ๋์ ํ๋ก์ธ์ค๋ง ์ฌ์ฉ ๊ฐ๋ฅ
Memory Management
์ฃผ๊ธฐ์ต์ฅ์น
โ ์์ ์ ์ํ ํ๋ก๊ทธ๋จ ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ ค ๋๋ ๊ณต๊ฐ
Multi-user, Multi-tasking ์์คํ
โ ํ๋ก์ธ์ค์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐ ํ์
โ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ ๊ณต๊ฐ ๊ด๋ฆฌ
โ ๊ฐ ํ๋ก์ธ์ค์ ํ ๋น ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ ๊ทผ ๋ณดํธ
๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฐฉ๋ฒ (scheme)
โ ์ ์ฒด ์ ์ฌ
- ์ฅ์ : ๊ตฌํ์ด ๊ฐ๋จ
- ๋จ์ : ์ ํ์ ๊ณต๊ฐ
โ ์ผ๋ถ ์ ์ฌ (virtual memory concept)
- ํ๋ก๊ทธ๋จ ๋ฐ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ง ์ ์ฌ
- ์ฅ์ : ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ํ์ฉ
- ๋จ์ : ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น ์ ๊ทผ ํ์
File Management
โ ํ์ผ: ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ์ ์ฅ ๋จ์
โ ์ฌ์ฉ์ ๋ฐ ์์คํ
์ ํ์ผ ๊ด๋ฆฌ
โ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ์ง์
โ ํ์ผ ๊ด๋ฆฌ ๊ธฐ๋ฅ
I/O Management
![](https://blog.kakaocdn.net/dn/c1EpmD/btrSsZUYek6/TKzxvJdqTRBpXgctSLS5BK/img.png)
![](https://blog.kakaocdn.net/dn/bYfkM5/btrSnWMp9Zx/zt7uMVjQCk6xlX5FDANqnK/img.png)
โ ๋ฐ๋์ OS๋ฅผ ๊ฑฐ์ณ์ผ ํ๋ค
Others
โ Disk
โ Networking
โ Security and Protection System
โ Command and Interpreter System
โ System Call Interface
'โญ Group_Study > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2์ฃผ์ฐจ] Process Scheduling (0) | 2022.12.13 |
---|---|
[2์ฃผ์ฐจ] Thread Management (0) | 2022.12.12 |
[1์ฃผ์ฐจ] Process Management: Interrupt, Context Switching (0) | 2022.12.07 |
[1์ฃผ์ฐจ] Process Management (1) | 2022.12.06 |
[1์ฃผ์ฐจ] Computer System Overview (0) | 2022.12.04 |
๋๊ธ