운영체제?
컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모습으로 대표적인 시스템 소프트웨어
커널모드(슈퍼바이저 모드) | 사용자 모드 (보호모드) |
하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 있는 모드 운영체제의 커널이 동작함 |
하드웨어를 직접 제어할 수 있는 CPU명령어를 사용할 수 없는 모드 응용프로그램이 동작 |
커널(kernel)
커널 모드에서 동작하는 운영체제의 핵심 요소
응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할
- 구성방식: 일체형 커널, 마이크로 커널
개념 | 장점 | 단점 | |
일체형 커널 | 운영체제의 모든 서비스가 커널 내에 포함됨 ex. UNIX, Linux |
커널 내부 요소들이 서로 효율적으로 상호 작용함 | 한 요소라도 오류가 발생하면 시스템 전체에 장애 발생 가능 |
마이크로커널 | 운영체제 요소의 대부분을 커널 외부로 분리 메모리 관리, 멀티태스킹, 프로레스 간 통신(IPC) 등 최소한의 요소만 커널 내에 남김 |
새로운 서비스를 추가하여 운영체제 확장이 쉬움 유지보수가 용이하여 안정성이 우수함 |
커널 외부 요소들 사이는 IPC가 필요하여 성능저하 발생 |
시스템 호출
- 응용 프로그램이 하드웨어에 대한 제어가 필요한 경우
- 운영체제에 서비스를 요청하는 메커니즘
더보기
응용 프로그램은 사용자 모드에서 동작하기에, 하드웨어에 대한 제어가 필요한 경우 시스템 호출을 통해 필요한 서비스를 운영체제에 요청해야 한다.
즉, 사용자 모드로 응용프로그램을 이용하다가 시스템 호출이 발생하면 커널 모드로 바뀐다. 그렇게 운영체제가 하드웨어를 제어하고, 작업이 다 끝나면 응용프로그램으로 제어를 넘겨줘야 한다. 그래서 커널 -> 사용자 모드로 바뀐다.
운영체제의 구성
- 프로세스 관리자
- 메모리 관리자
- 장치 관리자
- 파일 관리자
운영체제의 유형
- 일괄처리 운영체제(Batch processing) : 작업을 모아서 순서대로 처리하는 방식
- 시분할 운영체제(Time-sharing) : 대화형 운영체제, 사용자의 프로그램을 한 번에 조금씩 수
- 실시간 운영체제(=RTOS, real-time): 원하는 시간 내에 프로그램의 결과를 얻을 수 있다.
- 분산 운영체제(Distributed)분산 시스템: 2개 이상의 컴퓨터 시스템이 네트워크로 연결되어 서로의 자원을 이용하는 시스템다른 컴퓨터 시스템의 자원을 이용하는 것이 마치 자신의 컴퓨터 시스템에 있는 자원을 이용하는 것처럼 느낀다.
반응형
'IT 지식쌓기' 카테고리의 다른 글
[Linux] Shell (2) | 2024.09.30 |
---|