본문 바로가기
방통대/운영체제

운영체제 소개 (1강)

by 녹녹1 2025. 3. 2.

1강 운영체제 소개

운영체제는 컴퓨터를 사용하기 위해 반드시 필요한 소프트웨어 중 하나이다.

 

컴퓨터가 사용자에게 제공하는 서비스가 다양해지고 편리해지는 만큼 사용자를 위해 컴퓨터 내에서 이루어져야 하는 자원의 관리나 활용이 효율적으로 동작해야 하는데, 운영체제는 그 근간을 이루는 핵심적인 시스템 소프트웨어이다.

 

1. 운영체제란 무엇인가?

컴퓨터 시스템의 구성

운영체제는 대표적인 시스템 소프트웨어이며 응용소프트웨어와 하드웨어 사이의 매개체 역할을 한다고 볼 수 있다.

컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램들이 동작하기 위한 서비스를 제공하는 프로그램들의 모음이다.

 

⚒️운영체제의 역할

1) 컴퓨터 시스템의 자원관리

- 자원 : 하드웨어 자원, 소프트웨어 자원, 데이터

- ex) 저장장치에서 데이터 읽어오기, 키보드나 마우스제어, 프로그램 동시실행 시 cpu와 메모리 효율적 관리 등

- 컴퓨터 시스템을 효율적으로 운영하는 목적

 

2) 사용자 지원

- 사용자가 내린 명령을 해석하여 실행하게 함

- 사용자와 하드웨어 사이의 매개체 역할

- 사용자에게 편의성을 제공하는 목적

 

⚒️ 커널모드와 사용자 모드

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

- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 있는 모드

- 운영체제의 커널이 동작함

 

2) 사용자 모드 (보호 모드)

- 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 없는 모드

- 응용 프로그램이 동작함

 

⚒️커널(kernel)

- 커널 모드에서 동작하는 운영체제의 핵심 요소

- 응용 프로그램과 하드웨어 수준 처리 사이의 가교 역할

- 구성방식 : 일체형 커널, 마이크로 커널

 

1) 일체형 커널(monolithic kernel)

- 운영체제의 모든 서비스가 커널 내에 포함됨

- 장점 : 커널 내부 요소들이 서로 효율적으로 상호작용함

- 단점 : 한 요소라도 오류가 발생하면 시스템 전체에 장애 발생 가능

- ex) UNIX, Linux

 

2) 마이크로커널(microkernel)

- 운영체제 요소의 대부분을 커널 외부로 분리

- 메모리 관리, 멀티태스킹, 프로세스 간 통신(IPC) 등 최소한의 요소만 커널 내에 남김

- 장점 : 새로운 서비스를 추가하여 운영체제를 확장하기 쉬움 / 유지보수가 용이하여 안정성이 우수함

- 단점 : 커널 외부 요소들 사이에는 IPC가 필요하여 성능저하 발생

(※ IPC는 커널 내부에 존재하여 커널을 거쳐가야하는 작업이 추가로 발생됨)

 

⚒️시스템 호출

응용프로그램이 하드웨어에 대한 제어가 필요한 경우 이용

운영체제에 서비스를 요청하는 메커니즘

 

2. 운영체제의 구성

- 컴퓨터 시스템의 자원의 성격에 따라 구분

 

1. 프로세스 관리자

2. 메모리 관리자

3. 파일 관리자

4. 장치 관리자

 

⚒️ 프로세스 관리자

- 프로세스의 생성 및 삭제

- CPU 할당을 위한 스케줄 결정

- 프로세스의 상태를 관리하며 상태 전이 처리

⚒️ 메모리 관리자

- 메모리(주기억장치) 공간에 대한 요구의 유효성 확인

- 메모리 할당 및 회수

- 메모리 공간 보호

⚒️ 장치 관리자

- 컴퓨터 시스템의 모든 장치 관리(하드 디스크, SSD, 키보드, 마우스, 프린터..)

- 시스템 장치의 할당, 작동, 반환

⚒️ 파일 관리자

- 컴퓨터 시스템의 모든 파일 관리

- 저장장치의 공간 관리

- 파일의 접근 제한 관리

 

3. 운영체제의 유형

1. 일괄처리 운영체제

2. 시분할 운영체제

3. 실시간 운영체제

4. 분산 운영체제

 

⚒️ 일괄처리 운영체제

- Batch processing : 작업을 모아서 순서대로 처리하는 방식

- 사람(오퍼레이터)이 하던 일을 프로그램이 빠르게 처리하게 되면서 전체적인 작업 처리 속도가 향상됨

- 나중에 들어온 작업은 앞선 작업들이 모두 끝날 때까지 아무런 상호작용 없이 기다려야함(비효율적인 부분 존재)

⚒️ 시분할 운영체제

- Time-sharing : 각 사용자의 프로그램을 한 번에 조금씩 수행하는 방식 

- 대화형(interactive) 운영체제라고도 함 (조금만 기다리면 피드백을 받을 수 있음)

- 사용자들은 마치 혼자 컴퓨터를 사용하는 듯한 느낌을 받음

- 응답시간이 일괄처리 운영체제보다 크게 단축됨

(※ 응답시간 : 요청한 시점부터 반응이 시작되는 시점까지의 소요시간)

⚒️ 실시간 운영체제

- Real-time : 원하는 시간 내에 프로그램의 결과를 얻을 수 있는 방식

- 처리결과가 현재의 결정에 영향을 주는 환경에서 사용됨

(ex. 미사일 제어 시스템, 증권제어 관리 시스템)

- 중요한 작업에 대한 처리 기한을 맞추는 것이 중요 : 우선순위가 높은 작업을 우선 처리할 수 있는 기법 활용

⚒️ 분산 운영체제

- 분산 시스템을 관리하기 위한 운영체제 

(※ 분산 시스템 : 2개 이상의 컴퓨터 시스템이 네트워크로 서로 연결되어 서로의 자원을 이용하는 시스템)

- 다른 컴퓨터 시스템의 자원을 이용하는 것이 마치 자신의 컴퓨터 시스템에 있는 자원을 이용하는 것처럼 가능해야 함

 


정리

  1. 운영체제는 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모습으로 대표적인 시스템 소프트웨어이다.
  2. 커널 모드는 하드웨어를 직접 제어할 수 있는 CPU의 명령어를 사용할 수 있는 모드이고, 사용자 모드는 하드웨어를 직접 제어할 수 있는 CPU의 명령어를 사용할 수 없는 모드이다.
  3. 응용 프로그램은 사용자 모드에서 동작하기에, 하드웨어에 대한 제어가 필요한 경우 시스템 호출을 통해 필요한 서비스를 운영체제에 요청해야 한다.
  4. 운영체제의 주요 구성요소에는 프로세스 관리자, 메모리 관리자, 장치관리자, 파일 관리자가 있다.
  5. 운영체제의 대표적인 유형으로는 일괄처리 운영체제, 시분할 운영체제, 실시간 운영체제, 분산 운영체제가 있다.

댓글