Operating System 운영체제란?
Application program과 컴퓨터 Hardware를 중재하는 역할을 하는 프로그램
OS의 목적
- 컴퓨터 시스템을 편하게 사용한다.
- 컴퓨터 하드웨어의 자원을 효율적으로 관리
OS의 주요 기능 Top 4
-Multi-user environment
여러 유저가 동시에 사용할 수 있는 환경
-Process and Scheduling
여러 프로그램을 동시에 실행시킬 수 있도록
-User space and Kernel space
여러 개 프로그램을 독립적으로 작동할 수 있도록 Address space관리, User level과 Kernel Level을 별도로 관리
-Basic and Advanced I/O
컴퓨터 시스템의 주요 자원이 주변장치(I/O)를 통로를 제공
OS -> Linux
- histroy …
- Philosophy …
- Advantages & Weakness 장점과 단점
수많은 개발자들이 많이 동참한다.
사용자 버전이 있다.
-빠른 버전 업그레이드로 안정화 되지 못한다.
-Distribution
Debian 비상업용
Fedora 상업용
Various other distributions
- Linux archive : 커널은
- Development
- Standardization 배포, 개발, 안정화
Computer System Overview
기본적인 컴퓨터 시스템은 Hardware가 존재 그 중 중요한 것은 CPU, Memory, I/O Devices가 있다.
Hardware 위의 OS는 Hardware를 잘 관리하는 시스템 sortware이고, OS위에 Application programing이 실행된다.
z.B) GUI 프로그램, System utility를 사용하는 시스템 프로그램
System Programing은 System의 resouse를 사용해서 원하는 기능을 제공한다.
System Call이 운영체제에 그 기능을 요청
Layered Linux Structure
1
2
3
4
5
6
OS의 종류 중 하나인 Linux의 구조이다.
-OS에서 kernel은 핵심역활을 담당한다.
2 Users는 system-call을 wrapping할수 있는 libaray를 가지고 있어서 shell, compiler, interface를 통해서 커널에 요청 을 전달한다.
3 유저에게 다양한 영역의 kernel을 이용할 수 있게 위쪽으로 system-call 인터페이스를 제공한다.
6 하드웨어에 대한 kernel interface를 아래쪽으로 제공해서 Hardware driver device라든지 여러가지 그런 software를 통해서 하드웨어 제어
kernel의 역활 top5
Process management
- CPU scheduling
Memory management
- page replacement
- demand paging virtual memeory
File system management
- swapping block I/po system
- disk and tape drivers
Device management
- signals terminal handling
- character I/O system terminal drivers
Network management
kernel의 핵심기능을 user level에서 프로그래머가 사용할 수 있도록 제공해주는 interface를 system-call이라고 한다.
application은 이러한 system-call을 이용하여 직접 접근 가능하고 system-call을 다시 wrapping한 shell, library-loutines을 통해서 접근할 수 있다.
이렇게 system utilty를 사용하는 프로그램이다.
'시스템 프로그래밍' 카테고리의 다른 글
시스템 프로그래밍 2장 - Library call : File I/O (0) | 2020.05.05 |
---|---|
시스템 프로그래밍 2장 - Library call (0) | 2020.05.05 |
시스템 프로그래밍 1장 - Shell, File system, Compile (0) | 2020.05.05 |
시스템 프로그래밍 1장 - System-call, Library-call (0) | 2020.05.05 |
시스템 프로그래밍 개요 (0) | 2020.05.03 |