본문 바로가기
방송통신대학교/3학년 1학기

[운영체제] 1강. 운영체제 소개

by 바른 호랑이 2025. 3. 13.
728x90
반응형

방송통신대학교 운영체제 강의 정리 자료입니다.

 

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

컴퓨터 시스템의 구성

- 하드웨어: CPU, 메모리, 저장장치, 입출력장치, 네트워크 장치 등이 해당함.

 

- 소프트웨어

: 응용 소프트웨어와 시스템 소프트웨어로 나눠볼 수 있으며, 일반적으로 브라우저, PDF 리더, 워드 등과 같은 프로그램 등을 해당함.

운영체제(Operating System)

: 대표적인 시스템 소프트웨어로 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모음을 지칭함.

 

운영체제의 역할

- 컴퓨터 시스템의 자원 관리

: 자원(하드웨어 자원, 소프트웨어 자원, 데이터)들을 관리하는데 구체적으로 저장장치에서 데이터 읽어오기, 키보드나 마우스 제어, 프로그램 동시 실행 시 CPU와 메모리를 효율적으로 관리하는 역할을 수행함. 컴퓨터 시스템을 효율적으로 운영하는 목적임.

 

- 사용자 지원

: 사용자가 내린 명령을 해석하여 실행하게 하고, 사용자와 하드웨어 사이의 매개체 역할을 하여 편의성을 제공하려는 목적임.

 

초기의 컴퓨터 시스템에는 운영체제가 존재하지 않았는데, 이 당시에는 응용 프로그램이 직접 컴퓨터 시스템의 자원을 제어했음. 이로 인해 응용 프로그램 개발자는 하드웨어 제어방법을 잘 알고 있었어야 했으며, 여러 사용자가 하드웨어를 공유하는 경우 자원 분할이 어려웠음.

1950년대로 넘어가면서 운영체제가 있는 컴퓨터 시스템이 등장하기 시작했으며, 하드웨어와 응용 프로그램 사이에 운영체제가 위차하며 컴퓨터 시스템 자원을 제어하게 되었음. 이에 따라 컴퓨터 시스템이 안정적이고 효율적으로 동작할 수 있게 되었음.

커널 모드와 사용자 모드

- 커널모드(수퍼바이저 모드)

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

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

: 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 없는 모드로 응용 프로그램이 동작함.

커널(kernel)

: 커널 모드에서 동작하는 운영체제의 핵심 요소로 응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할을 해줌. 구성방식에 따라 일체형 커널과 마이크로 커널로 나뉨.

- 일체형 커널(monolithic kernel)

: 운영체제의 모든 서비스가 커널 내에 포함됨. 커널 내부 요소들이 서로 효율적으로 상호작용을 하는 장점이 있으나 한 요소라도 오류가 발생하면 시스템 전체에 장애가 발생할 수 있다는 단점이 있음. 대표적으로 UNIX, Linux가 이에 해당함.

 

- 마이크로커널(microkernel)

: 운영체제 요소의 대부분을 커널 외부로 분리한 형태로 메모리 관리, 멀티태스킹, 프로세스 간 통신(IPC)등 최소한의 요소만 커널내에 남김. 새로운 서비스를 추가하여 운영체제를 확장하기 쉽고 유지보수가 용이하여 안정성이 우수하다는 장점이 있으나 커널 외부 요소들 사이는 IPC가 필요하여 성능저하가 발생한다는 단점이 있음.

 

시스템 호출

: 응용 프로그램이 하드웨어에 대한 제어가 필요한 경우 이용하며, 운영체제에 서비스를 요청하는 메커니즘임. 사용자모드에서 시스템 호출이 이루어지면 커널모드로 변경되어 하드웨어에 필요한 서비스를 요청하여 상호작용하는 방식임.

 

2. 운영체제의 구성

컴퓨터 시스템의 자원의 성격에 따라 구분할 수 있음.

- 프로세스 관리자

: 프로세스의 생성 및 삭제를 담당하며 CPU 할당을 위한 스케줄을 결정함. 이 과정에서 프로세스의 상태를 관리하며 상태 전이를 처리함.

- 메모리 관리자

: 메모리(주기억장치) 공간에 대한 요구의 유효성을 확인하며, 메모리 할당 및 회수와 메모리 공간을 보호하는 역할을 함. 

- 장치 관리자

: 컴퓨터 시스템의 모든 장치(하드디스크, SSD, 키보드, 마우스, 프린터, 유무선 네트워크 카드 등)를 관리하며 시스템 장치의 할당, 작동, 반환등의 역할을 수행함.

 

- 파일 관리자

: 컴퓨터 시스템의 모든 파일을 관리하며, 저장장치의 공간 관리 및 파일의 접근 제한을 관리함.

 

3. 운영체제의 유형

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

: 작업을 모아서 순서대로 처리하는 방식으로 사람(오퍼레이터)이 하던 일을 프로그램이 빠르게 처리하게 되면서 전체적인 작업 처리 속도가 향상됨. 나중에 들어온 작업은 앞선 작업들이 모두 끝날 때까지 아무런 상호작용 없이 기다려야만 함.

 

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

: 각 사용자의 프로그램을 한 번에 조금씩 수행하는 방식으로 시간을 쪼개서 각 작업을 조금씩 조금씩 수행함. 대화형(interactive) 운영체제라고도 함. 사용자들은 마치 혼자 컴퓨터를 사용하는 듯한 느낌을 받을 수 있고 응답시간(요청한 시점부터 반응이 시작되는 시점까지의 소요시간)이 일괄처리 운영체제보다 크게 단축됨.

 

- 실시간(Real-time) 운영체제

: 원하는 시간 내에 프로그램의 결과를 얻을 수 있는 방식으로 처리결과가 현재의 결정에 영향을 주는 환경(미사일 제어 시스템, 증권거래 관리 시스템 등)에서 사용됨. 중요한 작업에 대한 처리기한을 맞추는 것이 중요하기에 우선순위가 높은 작업을 우선 처리할 수 있는 기법을 활용함.

 

- 분산 운영체제

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

728x90
반응형

댓글