더보기
- [운영체제] 1강. 컴퓨터 통신망의 소개
- [운영체제] 2강. 프로세스와 스레드
- [운영체제] 3강. 프로세스 스케줄링
- [운영체제] 3강. 프로세스 스케줄링
- [운영체제] 4강. 병행 프로세스 I
- [운영체제] 5강. 병행 프로세스 II
- [운영체제] 6강. 교착상태 I
- [운영체제] 7강. 교착상태 II
- [운영체제] 8강. 메모리 관리
- [운영체제] 9강. 가상 메모리
- [운영체제] 10강. 페이지 교체 알고리즘
- [운영체제] 11강. 장치관리
- [운영체제] 12강. 저장장치 및 파일 관리
- [운영체제] 13강. 분산 운영체제
- [운영체제] 14강. 운영체제 보안
- [운영체제] 15강. 운영체제 사례
운영체제(OS, Operating System)
대표적인 시스템 소프트웨어
컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이
동작하기 위한 서비스를 제공하는 프로그램들의 모음
운영체제의 역할
- 컴퓨터 시스템의 자원 관리
- 자원? HW자원, SW자원, 데이터
- 컴퓨터 시스템을 효율적으로 운영하려는 목적
- 저장장치(HW)에서 데이터 읽어오기
- 키보드나 마우스(HW) 제어
- 여러 프로그램(SW) 동시 실행 시 CPU와 메모리 효율적 관리
- 사용자 지원
- 사용자 명령을 해석해 실행
- 사용자와 하드웨어 사이의 매개체 역할
- 사용자에게 편의성 제공하려는 목적
컴퓨터 시스템의 구성
- 사용자
- 응용 소프트웨어
- 시스템 소프트웨어 ✅
- 하드웨어
컴퓨터 시스템과 운영체제
- 운영체제가 없던 초기의 컴퓨터 시스템은..
- 응용 프로그램이 직접 컴퓨터 시스템의 자원 제어 (응용프로그램 개발자가 HW 제어방법을 알아야 함)
- 여러 사용자가 하드웨어를 공유하는 경우 자원 분할 어려움
- 운영체제가 있는 요즘 컴퓨터 시스템은.. (1950~)
- 운영체제가 하드웨어와 응용프로그램 사이에서 컴퓨터 시스템의 자원 제어
- 컴퓨터 시스템이 안정적이고 효율적으로 동작하도록 함
커널 모드와 사용자 모드
- 커널 모드(슈퍼바이저 모드)
- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 있는 모드
- 운영체제의 커널이 동작
- 사용자 모드 (보호 모드)
- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 없는 모드
- 응용 프로그램이 동작
- 시스템 호출
- 응용 프로그램이 하드웨어 제어가 필요한 경우
- 운영체제에 서비스를 요청하는 메커니즘 → 커널 모드로 전환
커널 (kernel)
커널 모드에서 동작하는 운영체제의 핵심 요소
응용 프로그램과 하드웨어 처리 사이의 매개체
커널의 구성방식
- 일체형 커널 (monolithic kernel)
- 운영체제의 모든 서비스가 커널 내에 포함됨 (OS = 커널)
- 커널 내부 요소들이 서로 효율적으로 상호작용 ↔️ 한 요소라도 오류 발생시 시스템 전체에 장애 발생가능
- ex. UNIX, Linux
- 마이크로커널 (microkernel)
- 운영체제 요소 대부분을 커널 외부(사용자 모드)로 분리
- 메모리 관리, 멀티태스킹, 프로세스 간 통신(IPC) 등 핵심 요소만 남겨서 커널 최소화
- 새로운 서비스 추가하여 운영체제 확장 & 요지보수 용이 & 안정성 우수
- 커널 외부 요소들 사이에 IPC 필요하여 성능 저하 발생
운영체제의 구성요소
컴퓨터 시스템의 자원 성격에 따라 구분
- 프로세스 관리자
- 프로세스 생성 및 삭제
- CPU 할당을 위한 스케줄 결정
- 프로세스 상태를 관리하며 상태 전이 처리
저장장치의 프로그램파일이 실행되려면 메모리 상의 프로세스 (실행중인 프로그램)로 생성되어야 한다.
CPU 처리가 필요한 경우 운영체제가 CPU 스케줄링을 담당한다.
- 메모리 관리자
- 메모리(주기억장치) 공간에 대한 요구 유효성 확인
- 메모리 할당 및 회수
- 메모리 공간 보호
- 장치 관리자
- 컴퓨터 시스템의 모든 장치 관리 (하드디스크, 입출력기기, 유무선 네트워크 카드 등)
- 시스템 장치의 할당, 작동, 반환
- 파일 관리자
- 컴퓨터 시스템의 모든 파일 관리
- 저장장치의 공간 관리
- 파일의 접근제한 관리
운영체제의 유형
- 일괄처리 운영체제 (Batch processing)
- 작업을 모아서 순서대로 처리하는 방식
- 나중에 들어온 작업은 앞선 작업이 완료될 때까지 상호작용 없이 무한대기
- 시분할 운영체제 (Time-sharing)
- 각 사용자의 프로그램을 한 번에 조금씩 수행하는 방식
- 대화형(interactive) 운영체제
- 응답시간(요청시점부터 첫 반응까지의 소요시간)이 일괄처리 운영체제보다 단축됨
- 실시간 운영체제 (Real-time, RTOS)
- 원하는 시간 내에 프로그램 결과를 얻을 수 있는 방식
- 처리결과가 현재 결정에 영향을 주는 환경에서 사용됨 (미사일 제어 시스템, 증권거래 관리 시스템 등)
- 중요한 작업에 대한 처리 기한을 맞추는 것이 중요하므로 우선순위 높은 작업을 우선 처리하는 기법 사용
- 분산 운영체제
- 분산시스템(2개 이상의 컴퓨터 시스템이 네트워크로 연결되어 자원 공유)를 관리하기 위한 운영체제
- 다른 컴퓨터 시스템의 자원을 내 컴퓨터 시스템의 자원처럼 이용할 수 있어야 함
정리하기
- 운영체제는 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모습으로 대표적인 시스템 소프트웨어이다.
- 커널 모드는 하드웨어를 직접 제어할 수 있는 CPU의 명령어를 사용할 수 있는 모드이고, 사용자 모드는 하드웨어를 직접 제어할 수 있는 CPU의 명령어를 사용할 수 없는 모드이다.
- 응용 프로그램은 사용자 모드에서 동작하기에, 하드웨어에 대한 제어가 필요한 경우 시스템 호출을 통해 필요한 서비스를 운영체제에 요청해야 한다.
- 운영체제의 주요 구성요소에는 프로세스 관리자, 메모리 관리자, 장치관리자, 파일 관리자가 있다.
- 운영체제의 대표적인 유형으로는 일괄처리 운영체제, 시분할 운영체제, 실시간 운영체제, 분산 운영체제가 있다.
'방송통신대학교 > 운영체제' 카테고리의 다른 글
[운영체제] 3강. 프로세스 스케줄링 (0) | 2023.04.17 |
---|---|
[운영체제] 2강. 프로세스와 스레드 (0) | 2023.04.16 |