운영체제의 역할
① User Services : Program execution, I/O operation, File System manipulation, communication, error detection
② Resource Allocation : 여러가지 프로그램을 한번에 돌릴 때 적절히 자원을 배분한다.
③ Accounting : 자주 쓰는 프로그램을 빨리 load 할 수 있도록 사용자의 행동을 트래킹한다.
④ Protection : 시스템 자원으로의 모든 접근을 제어할 수 있다.
운영체제의 구조
: 하드웨어와 유저레벨 사이에 커널모드를 둠으로써 추상화 목적을 실현한다.
운영체제 디자인
: OS 를 디자인할 때 고려해야하는 것을 나누어서 고려해보자면,
① User Goal : 쓰기 쉽게, 배우기 쉽게, 안전하게, reliable하고 빠르게.
② System Goal : 디자인하기 쉽게, implement와 maintain이 쉽게, 유연하게, 에러가 없도록, 효율적으로 디자인하는 것을 목표로한다.
운영체제 운영방식 - Mechanism & Policy
: Mechanism은 어떤 방식으로 해결할 것인지, how 에 해당하는 분류이고,
Policy는 구체적으로 무엇을 수정하여 해결할 것인지, what에 해당하는 분류이다.
예를 들어, 여러 프로세스가 하나의 컴퓨터로 돌아가야 할 때, 어떤 스케쥴링 방식으로 프로세스들 간의 순서를 정해줄 것인지가 mechanism 이 되고, 각 프로세스가 순서가 되었을 때 몇 time quantum 동안 돌아갈 것인지 규칙을 정하는 것이 policy 이다.
개인 공부 정리용으로 작성한 글입니다. 틀린 부분이 있을 수 있으니 참고용으로만 사용해주세요. 틀린 부분은 댓글로 알려주세요.♥
'컴퓨터 COMPUTER > Linux 리눅스' 카테고리의 다른 글
6. [Process State, Scheduling] : 프로세스의 상태와 스케쥴링 (0) | 2019.01.30 |
---|---|
5. [Processes] : 프로세스란 무엇인가 (0) | 2019.01.29 |
4. [Virtual Machine(VM)] : 가상머신이란 무엇인가 (0) | 2019.01.29 |
3. [System Call Handling] : 운영체제는 어떻게 시스템콜을 핸들링하는가. + System call vs. API (0) | 2019.01.29 |
1. [Hardware Protection for OS] : 운영체제는 어떻게 생겼을까 (2) | 2019.01.29 |