운영체제
CPU, RAM, 하드디스크 등 컴퓨터의 물리적 리소스와 파일, 메모리 등 가상 리소스를 효율적으로 관리해 주고 사용자가 컴퓨터를 쉽게 다루게 해주는 소프트웨어
우리가 잘 알고 있는 Window와 macOS, 모바일에선 Android, iOS 대표적인 운영체제입니다.
운영체제의 역할과 구조
운영체제의 역할
- CPU 스케줄링
- CPU는 싱글코어 기준으로 한 번에 하나의 프로세스만 실행할 수 있습니다. 여러 개의 프로세스를 실행하는 것은 매우 빠른 속도로 여러 개의 프로세스를 번갈아가면서 실행시키는 것인데 운영체제는 언제 어떤 프로세스를 CPU에 할당할지 결정해 줍니다.
- 메모리 관리
- 한정된 메모리에 어떤 프로세스에 언제, 얼마만큼 할당할지 결정해 줍니다.
- 편리한 인터페이스를 제공
- 사용자가 가장 쉽게 인식할 수 있는 운영체제가 주는 장점입니다. Window의 작업표시줄, macOS의 Dock이 그 예입니다.
그 밖에도 각종 하드웨어 관리, 네트워크 관리, 파일 관리 등 여러 가지 일들을 수행해 줍니다.
운영체제의 구조
운영체제는 커널과 인터페이스로 이루어져 있습니다.
인터페이스는 앞서 말했듯이 사용자에게 보이는 부분으로, 사용자가 클릭 같은 이벤트를 시스템에 전달하고 실행 결과를 사용자에게 알려줍니다.
커널은 운영체제가 해야 할 일들을 실행하는 프로그램입니다. CPU 스케줄링, 메모리 관리 등이 커널에서 실행됩니다.
즉, 커널은 운영체제가 사용자에게 제공하는 서비스라고 생각할 수 있습니다.
사용자가 프로그램을 실행할 때 운영체제의 서비스가 필요할 경우 일반적인 사용자 모드에서는 불가능하기 때문에
'시스템 콜'이라는 명령을 통해 커널 모드에 들어가 커널의 도움을 받을 수 있습니다.
※ 잘못된 정보, 혹은 다른 의견이 있다면 댓글로 말해주세요. 감사합니다.
'CS > OS' 카테고리의 다른 글
메모리 할당 (0) | 2023.02.13 |
---|---|
가상 메모리 - 페이지 교체 알고리즘 (0) | 2023.02.12 |
가상 메모리 (0) | 2023.02.11 |
컴퓨터의 요소 - 메모리 (0) | 2023.02.06 |
컴퓨터의 요소 - CPU (0) | 2023.01.26 |