운영체제
<aside>
💡
운영체제란
- 실행할 프로그램에 필요한 자원을 할당하고
- 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램
- 컴퓨터에서 all times 돌아가는 프로그램
→ 프로그램을 위한 프로그램
</aside>
<aside>
💡
자원이란
- 모든 프로그램은 실행을 위해 자원을 필요로 한다
- 컴퓨터의 네 가지 핵심 부품 포함 (메모리, CPU, 보조기억장치, 입출력장치)
</aside>
<aside>
💡
프로그램이란
명령어(instructions)의 집합
</aside>

컴퓨터
<aside>
💡
컴퓨터란
정보를 처리하는 기계
</aside>
<aside>
💡
정보란
불확실성을 측정하여, 수치적으로 표현한 것.
</aside>
<aside>
💡
정보의 최소 단위
bit → 0 or 1 이라는 불확실성을 측정.
</aside>
운영체제의 큰 그림
<aside>
💡
커널이란?
- 운영체제의 핵심 기능을 담당하는 부분
- 커널이 아닌 운영체제? → 시스템 프로그램
</aside>
<aside>
💡
프로세스란?
실행 중인 프로그램
</aside>
<aside>
💡
시스템 콜과 이중 모드란?
- 이중 모드
- CPU가 명령어를 실행하는 모드를 유저 모드와 커널 모드로 구분
- 운영체제는 응용 프로그램이 자신을 통해서만 자원에 접근하도록 한다. → 문지기 역할
- 시스템 콜
- 사용자 모드에서 커널 모드로 전환하는 방법
- Application이 OS와 소통하는 방법
- 일종의 소프트웨어 인터럽트
</aside>
<aside>
💡
운영체제의 서비스 종류?
- 프로세스 관리
- 동시다발적으로 [생성/실행/삭제]되는 프로세스 관리
- 자원(CPU/메모리) 접근, 할당 및 관리
- CPU (스케줄링)
- 메모리 (페이징, 스와핑, …)
- 파일 시스템 관리
- 입출력장치(I/O) 관리
</aside>
셀프 Q&A
Q1. 운영체제도 프로그램인가요?
- 네. 맞습니다.
- 다른 프로그램들이 올바르게 실행될 수 있도록 자원을 할당하는 특별한 프로그램입니다.
- 운영체제가 하는 일은 다음과 같습니다.
- 프로세스 관리
- 자원 관리
- 파일 시스템 관리
- 입출력장치 관리