OS - (1) 운영체제의 역할과 구조
운영체제란
운영체제란 컴퓨터를 쉽고 효율적으로 관리하기 위해 고안된 인터페이스이다. 컴퓨터는 하드웨어와(CPU, 메모리, 마우스 등), 소프트웨어(유저 프로그램) 그리고 하드웨어와 소프트웨어를 관리하는 운영체제로 이루어져 있다.
운영체의 역할
- CPU 스케쥴링과 프로세스 관리
- CPU의 소유권을 언제 어떤 프로세스에 할당할지를 스케쥴링한다. 프로세스의 생성과 삭제 그리고 자원의 할당과 반환을 관리한다.
- 메모리관리
- 한정적인 주기억 장치인 메모리를 최대한 효율적으로 사용하기 위해 어떤 프로세스에 얼만큼 할당할지를 관리한다.
- 디스크파일 관리
- 디스크 파일을 어떤 방법으로 보관할지를 관리한다.
- I/O 디바이스 관리
- Input, Outpt 장치인 키보드, 마우스, 모니터 등의 다바이스를 관리한다.
운영체제의 구조
구조 |
(유저 프로그램) |
GUI(CUI) |
시스템콜 |
커널 |
드라이버 |
(하드웨어) |
유저프로그램과 하드웨어를 제외한 GUI, 시스템콜, 커널, 드라이버를 모두 합쳐 운영체제라고한다.
- GUI: 유저가 그래픽적으로 상호작용을 할 수 있도록 하는 인터페이스이다.
- 시스템콜: 유저 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스이다.
- 커널: 하드웨어의 자원을 필요한 프로세스에 할당하고, 프로세스 제어와 메모리 제어 등 운영체제의 심장이다.
- 드라이버: 하드웨어와 커널이 잘 소통하기 위한 소프트웨어이다.
- 인터페이스: 자동차의 내부를 자세히 모르지만 운전자는 자동차를 사용할 수 있듯 물체를 추상화 해놓은것을 인터페이스라고 한다.
시스템콜
시스템콜이란 커널에 접근하기 위한 인터페이스이다. 유저 프로그램이 하드웨어의 파일에 접근하고 싶다면 GUI를 통해 신호를 보내고, 신호가 올바른 요청인지 확인한 후 시스템콜을 거쳐 유저모드에서 커널모드로 바뀐다. 그리고 커널은 드라이버를 통해 하드웨어에 접근한다. 커널모드로 파일을 읽은뒤 다시 유저모드로 돌아간다.
이러한 시스템 덕분에 컴퓨터 자원에 대한 직접 접근을 차단할 수 있고, 프로그램을 다른 프로그램으로부터 보호 할 수 있다.
출처: Operating System Concepts 10th - SILBERSCHARTZ
modebit
시스템 콜이 작동될 때 modebit을 참고해 유저 모드와 커널 모드를 구분합니다. 그 값이 1이라면 유저모드 0이라면 커널모드 나타냅니다.
Leave a comment