운영체제 (Operating System)
운영체제(OS)는 프로그램과 하드웨어를 관리하는 소프트웨어이다.
예시:
- Windows
- Linux
- macOS
프로세스 관리
운영체제는 프로그램이 실행되면 프로세스를 생성한다.
역할
- 여러 프로그램을 동시에 실행 가능하게 함
- CPU 시간을 나누어 사용하게 함 (스케줄링)
- 프로세스 생성 및 종료 관리
예시
게임 실행
브라우저 실행
디스코드 실행
운영체제가 CPU 사용 시간을 빠르게 번갈아 할당해 동시에 실행되는 것처럼 보이게 한다.
메모리 관리
운영체제는 프로그램이 사용할 메모리를 할당하고 관리한다.
메모리 4영역
| 영역 | 설명 |
|---|---|
| Code | 실행 코드 저장 |
| Data | 전역 변수 / static 변수 |
| Heap | 동적 할당 메모리 |
| Stack | 지역 변수 / 함수 호출 |
파일 시스템 관리
운영체제는 파일 저장과 읽기를 관리한다.
역할
- 파일 생성
- 파일 삭제
- 파일 읽기 / 쓰기
- 폴더 관리
예시
ofstream file("Save.txt");
파일 저장 요청을 운영체제가 처리한다.
하드웨어 제어
프로그램은 직접 하드웨어에 접근할 수 없다.
반드시 운영체제를 통해 접근해야 한다.
제어 대상
- 키보드
- 마우스
- GPU
- 디스크
- 네트워크
시스템 콜 (System Call)
프로그램이 운영체제에게 기능을 요청하는 방법이다.
예시
- 파일 열기
- 메모리 할당
- 키보드 입력 받기
프로그램은 시스템 콜을 통해 OS에게 작업을 요청한다.
프로그램 실행 흐름
프로그램 실행 시 과정:
1. 실행 파일(.exe) 선택
2. 운영체제가 실행 파일 읽음
3. RAM에 프로그램 적재
4. 프로세스 생성
5. 메모리 영역 구성
6. 코드 실행 시작
정리
운영체제의 주요 역할:
- 프로세스 관리
- 메모리 관리
- 파일 시스템 관리
- 하드웨어 제어
- 시스템 콜 제공
```