What is an Operating System?
- 유저랑 컴퓨터 하드웨어 사이에서 중개자? 역할을 해주는 프로그램이다.
- Operating System의 목표:
- user program 실행
- 문제를 쉽게 해결하기 위해서
- 컴퓨터 시스템을 잘 사용하기 위해서
- 하드웨어를 효율적으로 사용하기 위해서
- Performance
- Throughput : 처리량 --- jobs / sec
- Utilization : CPU를 바쁘게 유지하는 것 --- % of time busy
- Response time : 첫번째 Response 나오는데 걸린 시간 --- sec / job
- Kernel
- Memory 상주
- 대부분은 C로 작성됨
- 나머지는 HW dependent, speed 등의 이유로 어셈블리 사용함
- system call 이라고 불리는 특별한 함수를 가지고 있음
- process management, file system, I/O system 세가지 파트로 나뉠 수 있음
Terminology
- kernel
- OS의 memory 상주하는 파트
- utility
- kernel과 반대되는 개념
- command라고도 함, OS의 disk resident part (loaded on demand)
- disk에 들어있는 프로그램?
- shell
- special utility인데 Job control 담당
- 키보드 인풋을 읽고 command 실행 (interpreter)
- file
- sequence of bytes
- I/O devices도 special file로 취급
- ls /dev 해보면 devices들과 1 대 1 매칭되는 파일 확인 가능
- 리눅스에서는 모든 것을 파일로 다룸
- standard file
- standard output : screen
- standard error : error message
- standard input : keyboard
How Kernel-Shell-Utilities are Related
1) boot 뒤 Kernel이 Main Memory에 올라옴
2) User A가 terminal을 키면 Kernel은 이 terminal을 위해 shell 띄워줌
3) User B가 terminal키면 똑같이 sh를 만들어줌
3) User B가 terminal에서 ppt를 실행시키면 sh의 child process로서 ppt는 동작함
여기서 ppt는 예시
'OS, Kernel' 카테고리의 다른 글
Kern Koh Kernel of Linux Interrupt 정리 (0) | 2022.08.06 |
---|---|
Kern Koh Kernel of Linux Scheduling 정리 (0) | 2022.07.20 |
Kern Koh Kernel of Linux Process Management 정리 (0) | 2022.07.19 |
Kern Koh Kernel of Linux System Call 정리 (0) | 2022.07.18 |