본문 바로가기
Computer Science/Operating System

🌌운영체제 구조

by HaningYa 2020. 6. 17.
728x90

운영체제 역할

프로그램이 실행되는 환경을 제공해 준다.

운영체제가 가지는 목표

  • 제공하는 서비스
  • 사용자와 프로그래머에게 제공하는 인터페이스
  • 시스템 구성요소와 그들의 상호연결

운영체제 구조

운영체제 서비스

  1. 사용자 인터페이스 제공
  2. 프로그램 실행
  3. 입출력 연산
  4. 파일 시스템 조작
  5. 통신
  6. 오류탐지
  7. 자원할당
  8. 기록작성
  9. 보호와 보안

시스템콜

운영체제에 의해 사용가능한 서비스에 대한 인터페이스를 제공

시스템 콜을 부르는 것 보다 API에 따라 프로그래밍 하는걸 선호하는 이유

  1. 프로그램 호환성
    : 같은 API를 지원하는 어느 시스템에서건 컴파일 되고 실행될 수 있다.
  2. 시스템 콜은 자세한 명세가 필요하고 프로그래머가 작업하기 어렵다.

RTE: 실행시간 환경

  • 시스템 콜에 대한 연결고리를 하는 시스템 call Interface를 제공
  • 함수의 호출을 가로채어 필요한 운영체제 시스템 콜을 부른다.
  • 운영체제 인터페이스에 대한 자세한 부분은 API에 의해 프로그래머로 부터 숨겨지고 RTE에 의해 관리된다.

시스템 콜의 유형

  1. 프로세스 제어
  2. 파일조작
  3. 장치 조작
  4. 정보유지 보수
  5. 통신
  6. 보호

링커와 로더

  • 프로그램은 디스크에 이진 실행 파일로 존재한다.
  • CPU에서 실행하려면 프로그램을 메모리에 가져와 프로세스 형태로 배치해야 한다.
  • [소스 프로그램] --컴파일러--> [오브젝트 파일] --링커--> [실행파일] --로더--> [메모리의 프로그램]

응용 프로그램이 운영체제 마다 다른 이유

  • 각 운영체제는 고유한 시스템 집합을 제공한다.
  • 시스템 콜은 응용 프로그램이 사용할 수 있도록 하는 서비스 집합의 일부이다.
  • 시스템 콜이 같더라도 다른 OS에서 실행하기 어렵다.

그래도 실행되게 하려면

  • 인터프리터 언어
  • 실행 중인 응용프로그램을 포함하고 있는 가상 머신
  • 컴파일러가 기기 및 운영체제 고유의 이진 파일을 생성하는 표준언어 또는 API를 사용했을 경우

운영체제 설계 목표

  • 사용자 목적
  • 시스템 목적

기법과 정책의 분리

  • 타이머 구조는 CPU보호를 위한 기법
  • 타이머가 얼마나 오랫동안 설정할 지는 정책적 결정

운영체제 구조 접근 방식

  1. 모놀리식 구조
  2. 계층적 구조
  3. 마이크로 커널
  4. 모듈
  5. 하이브리드

모놀리식 방식

  • 구조가 아예 없는 것
  • 커널의 모든 기능을 단일 주소 공간에서 실행하는 단일 정적 이진 파일
  • 장점) 명백한 단순성, 시스템 인터페이스는 오버헤드가 거의 없다. 커널내 통신 속도가 빠르다.
  • 단점) 구현 및 확장의 어려움

계층적 방식

  • 느슨하게 결합된 시스템을 설계할 수 있다.
  • 시스템 기능이 특정 기능 및 한정된 기능을 가진 개별적이고 작은 구성요소로 나뉜다.
  • 장점) 구현과 디버깅이 간단하다.
  • 단점) 각 계층의 기능을 적절히 정의하는 게 어렵다. 여러 계층을 통과하며 오버헤드가 생길 수 있다.

마이크로 커널 방식

  • 모든 중요치 않은 구성요소를 커널로 부터 제거하고 그들을 별도의 주소공간에 존재하는 사용자 수순 프로그램으로 구현하여 운영체제를 구성한다. 

모듈 방식

  • 적제 가능 커널 모듈
  • 부팅이나 실행중에 부가적인 서비스들을 모듈을 통하여 링크할 수 있다.

하이브리드 방식

  • 다양한 구조를 결합하여 성능 보안 및 편리성 문제를 해결하려는 혼용 구조

 

 

728x90

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

🚗Process  (0) 2020.06.16
🥓Thread  (0) 2020.06.16
🚀CPU 스케줄링 알고리즘  (0) 2020.06.16
OS #1 - Operating System Introduction.  (0) 2020.04.20

댓글