📌 OS 란 무엇인가
- OS (operating system)
- 사용자가 사용하는 Application Program과 Hardware를 연결하는 것
- 쉽게 말하면, 아래 그림과 같이 사용자가 프로그램을 사용할 수 있도록 하드웨어 자원과 소프트웨어 자원을 운영 관리하며 편리함을 제공한다.
- 따라서 하드웨어를 몰라도 컴퓨터를 잘 사용할 수 있도록 한다.
- 종류 : window, Linux, MacOS 등
📌 OS가 하는 일
- Sharing : 한정된 자원을 여러 프로세스가 공유할 수 있도록 관리함
- Protection : 한 자원에 여러 프로세스가 동시에 수정/접근 하지 않도록 보호함
- Fairness : 한 프로세스가 자원을 독점하지 않게 함
- Efficiency : Power을 효율적으로 사용하여 Energy 낭비를 막음
- Concurrency : 한번에 여러 프로세스들이 동시에 동작하게 함
📌 OS의 목적
- Throughput (처리 능력)
- 일정 시간동안 처리하는 일의 양, 시스템 생산성을 나타내는 단위
- 최대 일수록 좋다.
- Turnaround Time (응답 시간)
- 작업 전체의 시간.
- 어떤 작업이 시스템에 들어오고 종료되어 나가는 시간이다. 대기시간까지 포함한다.
- 최소 일수록 좋다.
- Reliability (신뢰도)
- 처리된 결과가 얼마나 정확한지 확인하는 정도
- 최대 일수록 좋다.
- Availability (사용 가능도)
- 주어진 시간안에 시스템이 동작할 가능성
- 최대 일수록 좋다.
📌 OS는 Event - driven software
위 그림에서 System Call과 Interrupts는 다음과 같다.
위와 같은 동작을 통해서, 사용자가 사용할 프로세스가 하드웨어에 직접 접근해 필요한 기능을 사용할 수 있게 한다.
- System call
- OS가 제공하는 서비스를 호출할 때 사용하는 명령이다
- 사용자가 사용할 프로세스가 커널 모드로 전환할 수 있게 한다. (커널 모드는 다음에 설명함)
- 커널 모드에서는 직접 HW을 제어할 수 있게 된다.
- Trap : 의도적으로 인터럽트를 일으킨다. 따라서 trap 명령어를 실행하면 system call이 일어난다. Trap에는 number가 포함되어 있어서 syscall이 어디서 왜 요청되었는지 알 수 있다.
- Interrupts
- 프로세스가 CPU(HW)에게 이벤트를 알리며, 프로세스를 처리하게 한다.
- CPU에게 인터럽트가 걸리면 ISR (interrupt service routine)가 동작한다.
이처럼 OS는 system call, interrupt (= event)를 처리하는 소프트웨어다.
✔️ 따라서 OS는 event(interrupt) - driven software 라고 부른다.
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] OS 역사 | Multi-programming system & Multi-tasking system (0) | 2021.07.10 |
---|