2024-소프트웨어과 1학년/운영체제 기초

[아기대학생김따루]운영체제 기초/OS기초_1강_기초, 간단 개념/운영체제의 개념, 목적

simless786-it 2024. 9. 6. 11:03

[사용 도서: 운영체제(서장원, 하성권 저, 기한재출판사)]

 

운영체제의 개념

운영체제(OS: Operation System)

: 운영체제의 주목적은 사용자가 컴퓨터 시스템을 편리하게 사용하는 데 있고, 부수적이 목적은 사용자 대신 컴퓨터 시스템(=하드웨어)을 효율적으로 사용하는 데 있음.

 

운영체제는 자원의 관리자와 중재자의 역할을 수행한다.

  • 입출력 장치 관리
  • 중앙 처리 장치 관리
  • 기억 장치 관리
  • 파일 시스템 관리

한정된 시스템 자원을 원활하게 사용할수있도록 해주는 맨-머신 인터페이스(man-machine interface)


 

운영체제의 목적

사용자 측면

:컴퓨터  H/W와 SW를 최대한 편리하게 사용할 수 있도록 함.

시스템 측면

:컴퓨터 시스템의 성능을 최적화하여 생산성을 향상시킴.

운영체제의 설계

:시스템 성능 측면과 사용자 편의성 측면을 모두 고려하여 적절하게 설계


시스템 측면- 고려해야 할 성능 요소들

  • 처리율(throughput): 일정 시간 내에 컴퓨터 시스템이 처리하는 작업의 양
  • 응답 시간(turnaround time): 사용자가 어떤 작업의 처리를 컴퓨터 시스템에 의뢰하고 나서 그 결과를 산출할 때까지 소요되는 시간
  • 사용가능성(availability): 컴퓨터 시스템을 각 사용자가 요구할 때, 어느 정도 신속하게 한정된 시스템 자원을 지원해 줄 수 있는가
  • 신뢰성(reliability): 컴퓨터 시스템이 어느 정도 정확하게 동작하는가를 나타내는 정도

자원 관리(resource management)

  • 입출력 장치 관리: 키보드, 마우스, 모니터, 프린터 등 주변장치
  • 중앙 처리 장치 관리: CPU 스케쥴링
  • 기억장치 관리: 주기억장치, 가상 기억장치, 보조 기억장치
  • 파일 시스템 관리: 프로그램 파일, 데이터베이스 등

운영체제의 구조

 

단일 구조 운영체제

  • 초기에 생겨난 가장 보편적인 형태
  • 운영체제의 모든 기능을 커널과 동일한 메모리 공간에 적재한 후, 시스템 호출만으로 사용할 수 있음.
  • 작고 간단하면서 시스템 성능이 제한된 구조

계층 구조 운영체제

  • 유사한 기능을 수행하는 요소를 그룹화하여 계층적으로 구성
  • 최하위 계층(계층0)인 하드웨어에서 최상위 계층(계층5)인 사용자 인터페이스까지 다수의 계층으로 구성되어있음
  • 각 계층은 인접한 상위나 하위에 있는 계층과 상호작용한다. 이런 구조는 사용자 프로세스의 요청을 수행할 때 여러 계층을 거쳐야 하므로, 한 계층에서 다음 계층으로 데이터를 전달할 때마다 추가적인 시스템 호출이 발생함.

마이크로 커널 구조 운영체제

  • 단일 커널의 문제점을 해결하기위해 모듈화 된 마이크로커널(micro kernel)을 사용하여 매크(Mech)를 만든다
  • 커널에는 최소 기능만 포함시켜 크기를 대폭 줄이고, 커널 기능은 사용자 공간으로 이동시켜 사용자 영역에서 수행하는 서버 구현 방법


일괄 처리 시스템

  • 개념: 초기 시스템의 작업 준비 시간을 줄이기 위한 방안, 요구 사항이 비슷한 여러개의작업들을 모아서 한꺼번에 처리하는 걳
  • 특징 및 장단점: 컴퓨터 시스템을 효율적으로 사용, 초기에 하나의 작업을 실행하는 시스템에서는 시스템 성능이 크게 향상. 작업 시간이 길어 반환시간(turnaround time)이 늦음, 적절한 작업 제어 카드를 제공해야 ㅎㅁ., 프로그램의 오류 수정 작업이 어려움,  CPU가 유휴상태가 되기 쉬움.

운영체제의 종류

 

시분할 시스템

 

개념

  •  CPU 시간을 각 사용자에게 균등하게 분할하여 사용하도록 하는 시스템
  • 모든 컴퓨터 사용자들에게 동일한 서비스를 제공해주는 것이 목표
  • 동시에 많은 사용자들이 컴퓨터를 공유

특징 및 장단점

  • 여러 사용자가 공동으로  CPU를 사용한다.
  • 여러개의 프로그램을 주기억장치에 적재한다.
  • 한 번에 주기억장치 내에 하나의 사용자만을 두는 교체(swapping) 기법을 사용한다.
  • 자원 제어에 대한 대부분의 책임을 운영체제에게 전가시킴으로써 운영체제가 복잡하다.
  • 운영체제는 기억장치에 복수개의 프로그램을 동시에 유지해야 하는 문제가 발생한다.
  • 기억장치 관리 기법과 디스크 스케쥴링 정책 등이 필요하다.
  • 여러 사용자에 대한 공정한 자원 공유를 위해  CPU 스케쥴링정책이 필요하나.
  • 실행 중인 프로세스간의 통신 및 입출력 장치 사용에 대한 제어 및 관리 능력

다중 프로그래밍 시스템

 

개념

  • CPU의 효율을 극대화 시키기 위한 방법
  • 여러 개의 프로그램이 마치 동시에 실행되는 것처럼 처리하는 방식
  • CPU의 효율 최적화

특징 및 장단점

  • CPU 1개, 주기억 장소에 의해 여러 개의 프로그램이 존재하여 다중 작업 구현
  • 다중 프로그래밍 시스템에서는 작업의 전환이 가능함으로써  CPU의 유휴 시간을 감소시킴
  • 여러 개의 작업을 준비 상태에 두고 관리하여, 어느 한 작업을 실행할 작업으로 선정하기 위한 기억장치 관리 기법이나 CPU스케쥴링 기법이 필요
  • 스케쥴링 정책, 교착 상태, 병행 제어 및 보호 문제 등을 고려해야 함.

다중 처리 시스템

 

개념

  • 동시에 프로그램을 수행할 수 있는 CPU를 2개 이상 두고 각각 그 작엉ㅂ을 분담하여 처리할 수 있는 다중 작업 방식
  • 사용 목적은 작업의 신뢰성과 컴퓨터의 능력을 증대시키는 데 있음
  • 여러개의 프로세서가 공동 기억장치를 통해 메모리를 공유하며, 다중처리기의 단일 운영체제에서의 제어가 가능한 시스템

 

특징 및 장단점

  • CPU를 여러 개 사용하므로 작업의 처리 속도와 신뢰성을 높임
  • 한쪽의 CPU가 고장나도 다른 CPU를 이용하여 계속 작업처리
  • 운영체제는 여러 CPU간의 기억장치 공유를 어떻게 지원할 것이며, 여러  CPU들의 스케쥴링을 어떻게 할 것인가를 결정
  • 신뢰성과 병행 계산 문제, 최적의 연결 기법, 같은 자원을 요구하는 CPU들간의 경쟁을 제어하는 문제 등을 고려

실시간 처리 시스템

 

개념

  • 단말기나 제어 대상으로부터 직접성과 시한성을 갖는 자료가 발생할 때마다 즉시 처리하여 그 결과를 출력하거나 요구에 응답하는 방식
  • 특수 목적을 위한 분야에 제어 장치로 사용

특징 및 장단점

  • 자료가 발생한 지점에서 단말기를 통해 직접 입출력되기 때문에 사용자의 수고가 절감
  • 처리 시간이 단축되고, 처리 비용도 절감
  • 자료가 임의로 도착하므로 입출력 자료의 일시 저장 및 대기가 필요
  • 시스템에 장애가 발생할 때, 단순한 재실행이 불가능

분산처리 시스템

 

개념

  • 하나의 대형 컴퓨터 시스템에서 수행하던 기능을 지역적으로 분산된 여러 대의 단말기에 분담시킨 후, 통신 회로를 통하여 상호간에 교신 및 처리하는 방식
  • 연산 속도와 신뢰성을 향상시키고, 컴퓨터 자원을 보다 효율적으로 이용하고자 하는 방안

특징

  • 통신 기능: 다수의 노드가 네트워크로 상호 연결되어 있으며, 각각의 프로세서간에 정보를 교환할 수 있음
  • 자원 공유: 다수의 노드가 네트워크를 통해 상호 연결되어 있으며, 한 노드에 있는 사용자는 다른 노드의 자원을 사용할 수 있음
  • 계산속도 증가: 특정 연산이 병행적으로 수행될 수 있는 다수의 부 연산 단위로 분할될 수 있으며, 병행 수행을 통해 여러 노드에 연산을 분담시킴
  • 신뢰성 향상: 한 노드의 장애가 나머지 노드에 영향을 주지 않고 계속 동작할 수 있음.

운영체제의 서비스

 

부팅 서비스: 운영체제의 메인 메모리에 적재하는 과정을 부팅(booting)또는 부트스트래핑(bootstrapping)이라고 함.

사용자 서비스: 사용자 인터페이스 제공/ 프로그램 실행/ 입출력 동작 수행/ 파일 시스템 조작/ 통신 및 네트워크/ 오류탐지

시스템 서비스: 자원 할당/ 계정/ 보호와 보완

시스템 호출 서비스: 실행 중인 프로그램과 운영체제 간의 인터페이스로서, API(Application Programming Interface)라고도 함.