[운영체제] 운영체제 구조와 종류

2023. 3. 17. 14:37·CS/운영체제
728x90
반응형

1. 커널(Kernel)

  • 운영체제의 핵심(core)
  • 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 필수 기능을 모아 놓은 것이다.

 

2. 인터페이스

  • 커널에 사용자의 명령을 전달하고 실행 결과를 사용자에게 알려주는 역할
  • GUI (Graphical User Interface) : 그래픽을 기반한 사용자 인터페이스
  • GLI (Command Line Interface) : 텍스트 기반의 사용자 인터페이스

운영체제 구성

 

3. 시스템 호출

  • 커널이 제공하는 시스템 자원의 사용과 연관된 함수
  • 커널이 제공하는 인터페이스
  • System Call
  • 컴퓨터의 자원을 이용하기 위해 사용자 인터페이스 또는 응용프로그램이 커널에게 접근하기 위한 유일한 수단이다.
  • 컴퓨터 자원의 효율적인 보호를 해준다.

 

4. 시스템 호출을 통한 접근

  • 커널이 제공하는 wirte( ) 함수를 사용하여 데이터를 저장해달라고 요청
  • 커널이 데이터를 가져오거나 저장하는 것을 전적으로 책임지기 때문에 컴퓨터 자원 관리가 수월하다.

 

5. 디바이스 드라이버

  • 커널과 하드웨어의 인터페이스 역할을 수행
  • 마우스 같은 표준화된 간단한 제품은 커널이 기본 드라이버로 가지고 운영한다.
  • 그래픽카드와 같이 복잡하고 제품에 따라 기능이 서로 다른 특징을 갖는 경우 제작사가 별도로 드라이버를 제공한다.

 

6. 커널의 핵심 기능

6.3 프로세스 관리

  • 프로세스에 CPU를 배분
  • 제반 환결을 제공

 

6.2 메모리 관리

  • 작업 공간을 배치
  • 가상의 공간을 제공

 

6.3 파일 시스템 관리

  •   테이터 저장을 위한 인터페이스를 제공

 

6.4 입출력 관리

  •   필요한 입력과 출력 서비스를 제공

 

6.5 프로세스간 통신(IPC)관리

  •   공동 작업을 위한 각 프로세스간 통신 환경을 제공

 

6.6 네트워크 관리

 

이미지 출처 : 위키백과

7. 단일형 구조 커널

  • Monolithic Architecture
  • 초장기의 운영체제 구조
  • 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성

 

7.1 장점

  • 모듈 간의 통신 비용이 줄어들어 효율적인 운영이 가능하다.

 

7.2 단점

  • 복잡한 구조로 인해 버그나 오류 수정이 어렵다.
  • 운영체제의 여러 기능이 상호 의존성이 있으므로 기능상의 작은 결함이 시스템 전반에 미친다.
  • 다양한 환경의 시스템에 적용하기 어렵다. -> 호환성 부족

 

8. 계층형 구조 커널

  • 유사 기능을 가진 모듈을 하나의 계층으로 구현한 것이다.
  • 계층 간의 통신을 통해 운영체제 서비스를 지원한다.

 

9. 마이크로 구조 커널

  • 가장 기본적인 기능만 제공한다. ex) 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등
  • 커널의 각 모듈을 세분화
  • 모듈 간의 정보 교환은 마치 프로세스 간 통신처럼 이루어진다.
728x90
반응형
저작자표시 (새창열림)

'CS > 운영체제' 카테고리의 다른 글

[운영체제] 프로세스의 메모리 구조  (4) 2023.05.17
[운영체제] 프로세스와 스레드  (0) 2023.05.14
[운영체제] 메모리 (1)  (3) 2023.04.16
[운영체제] 메모리 및 성능향상 기법  (0) 2023.03.31
[운영체제] 운영체제 정의와 역할  (0) 2023.03.01
'CS/운영체제' 카테고리의 다른 글
  • [운영체제] 프로세스와 스레드
  • [운영체제] 메모리 (1)
  • [운영체제] 메모리 및 성능향상 기법
  • [운영체제] 운영체제 정의와 역할
P_Piano
P_Piano
Apple 생태계 개발자가 되기 위한 학습과 경험의 기록
    반응형
    250x250
  • P_Piano
    피피아노의 개발 일지
    P_Piano
  • 전체
    오늘
    어제
    • 분류 전체보기 (209)
      • Apple (127)
        • iOS (22)
        • visionOS (4)
        • Swift (68)
        • UIKit (2)
        • SwiftUI (24)
        • RxSwift (2)
        • Xcode (5)
      • C언어 (5)
      • C++ (8)
      • Dart (1)
      • Python (3)
      • JavaScript (17)
      • Git (1)
      • CS (39)
        • 디자인 패턴 (6)
        • 네트워크 (20)
        • 운영체제 (8)
        • Database (5)
        • 자료구조 (0)
      • IT 지식 (2)
      • IT 뉴스 (4)
      • 출처 표기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩테스트
    Vision Pro
    SWIFT
    스위프트
    이니셜라이저
    클래스
    제어문
    ios
    오블완
    Xcode
    combine
    비동기
    티스토리챌린지
    운영체제
    배열
    visionOS
    자바스크립트
    함수
    연산자
    Initializers
    프로그래머스
    Apple
    프로퍼티 래퍼
    UIKit
    네트워크
    변수
    디자인패턴
    프로세스
    옵셔널
    swiftUI
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
P_Piano
[운영체제] 운영체제 구조와 종류
상단으로

티스토리툴바