본문 바로가기
Computer Science/OS

[OS] 운영체제 개요

by seaweed_one 2023. 2. 26.
728x90

운영체제?

- 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모음 
- 대표적인 시스템 소프트웨어로 하드웨어와 운영프로그램 사이에 위치
- 컴퓨터 시스템 자원 관리 
- 사용자 지원

 

자원관리 

자원관리의 목적 

컴퓨터 시스템을 효율적으로 관리하기 위함

자원관리의 역할

하드웨어, 소프트웨어, 데이터 
ex) 키보드, 마우스 제어 -> 하드웨어 
      프로그램 동시 시행 시 CPU, 메모리 관리 -> 소프트웨어 
      저장장치에서 데이터 읽어오기 -> 하드웨어 / 데이터 

 

사용자 지원

사용자 지원 목적 

사용자 편의성 제공 

사용자 지원 역할

사용자 명령어 해석 및 실행 
유저와 하드웨어 사이의 매개체 역할

 

커널

커널모드와 사용자모드 

커널모드 (슈퍼바이저 모드)

하드웨어를 직접 제어할 수 있는 CPU 명령어 사용 가능 모드 
운영체제의 커널이 동작

사용자모드 (보호모드)

하드웨어 직접 제어 CPU 명령어 사용 불가능 
응용프로그램이 동작하는 영역

Kernel?

커널모드에서 동작하는 운영체제의 핵심 요소
운영체제와 하드 수준의 처리에서 가교 역할 수행 

커널의 종류 

일체형 (monolithic kernel)
kernel == os 
UNIX, LINUX 가 이곳에 속함
운영체제의 모든 서비스가 커널에 포함
장점 : 커널 내부 요소들이 효율적으로 상호작용
단점 : 한 요소라도 오류 발생 시 시스템 전체 장애 발생 
 
마이크로 커널 (micro kernel)
최소화된 커널
운영체제 요소의 대부분이 커널 외부에 존재 (메모리, 프로세스관리, IPC 등)
최소한의 요소들만 남겼으며 다른 요소들은 user mode에서 동작
장점 : 새로운 서비스 추가로 운영체제의 확장 용이, 유지보수 용이, 안정성
단점 : 커널 외부 요소들간 IPC (Inter-Process Communication, 프로세스 간 통신) 필요, 성능 저하 

시스템 호출 

응용 프로그램이 하드웨어에 대한 제어가 필요한 경우 이용 
운영체제에 서비스를 요청하는역할 수행 

OS 구성

컴퓨터 시스템 자원의 영역에 따라 구분

프로세스 관리자 

Process란 실행중인 프로그램을 말함 
- 프로세스 생성, 삭제 
- CPU 할당을 위한 스케줄링 
- PS 상태 관리 및 상태 전이 

메모리 관리자 

Memory란 주기억장치를 말함 
- 메모리 공간 요구의 유효성 확인
- 메모리 할당, 회수 
 -메모리 공간 보호 
- 운영체제 및 커널도 프로그램이기 때문에 메모리 공간을 할당받아 사용하고 있음 

파일 관리자 

- 컴퓨터 시스템의 모든 파일 관리 
- 저장장치 공간 관리 
- 파일의 접근 제한 관리 

장치 관리자

장치란 하드디스크 , ssd, 키보드, 마우스, 유무선네트워크 카드 등을 말함 
- 컴퓨터 시스템의 모든 장치 관리 
- 시스템 장치의 할당, 작동, 반환 


운영체제의 유형 

일괄 처리 운영체제 (Batch processing)

- 작업을 모아서 순서대로 처리
- 사람(오퍼레이터)이 하던 일을 프로그램이 빠르게 처리하게 되며 전체적으로 작업 처리 속도 향상 
- 나중에 들어온 작업은 앞선 작업이 종료될때까지 아무런 상호작용 없이 기다려야 함

시분할 처리 운영체제 (Time-sharing)

- 각 사용자의 프로그램을 한번에 조금씩 수행 
- 대화형(interactive) 운영체제라고도 함
- 사용자들은 마치 혼자 컴퓨터를 사용하는 느낌을 받음 -> 다른 프로세스가 돌아가고 있다는 것을 느끼지 못함
- 일괄처리 보다 응답시간이 크게 단축 
    응답시간 : 요청한 시점부터 반응이 시작되는 시점까지의 소요시간

실시간 처리 운영체제 (Real-time ,RTOS)

- 원하는 시간 내에 프로개름의 결과를 얻을 수 있는 방식 
- 시분할은 첫반응까지가 빨랐지만 시분할은 최종결과까지가 빨라짐 
- 처리결과가 현재의 결정에 영향을 주는 환경에서 사용 (미사일 제어 시스템, 증권거래 관리 시스템 등)
- 중요한 작업에 대한 처리기한을 맞추는 것이 중요 
- 우선순위가 높은 작업을 우선 처리할 수 있는 기법 활용

분산 처리 운영체제 

- 분산 시스템을 관리하기 위한 운영체제 
    분산시스템 : 2개이상의 컴퓨터 시스템이 네트워크로 서로 연결되어 서로의 자원을 이용하는 시스템 
- 다른 컴퓨터 시스템의 자원을 이용하는 것이 마치 자신의 컴퓨터 시스템에 있는 자원을 이용하는 것처럼 가능해야 함 

728x90

'Computer Science > OS' 카테고리의 다른 글

[OS] 병행프로세스  (0) 2023.04.17
[OS] 프로세스 스케줄링 알고리즘  (0) 2023.03.15
[OS] 프로세스 스케줄링  (0) 2023.03.13
[OS] 프로세스 관리와 쓰레드  (0) 2023.03.05
[OS] 프로세스란?  (0) 2023.03.05