ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Operating System] 운영체제 : 운영체제의 큰 그림
    Operating System 2024. 5. 17. 19:52

    운영체제의 큰 그림
    : 커널, 이중모드와  시스템 호출, 운영체제의 서비스 종류에 대해 정리하였습니다.



    참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'


    < 커널 >

    운영체제가 제공하는 기능은 다양하지만, 공통적이고 핵심적인 서비스는 존재합니다.
    (자원에 접근/조작하는 기능, 프로그램이 안전하고 올바르게 실행되게 하는 기능, ...)

    이러한 운영체제의 핵심 서비스를 담당하는 부분을 커널(kernel)이라고 합니다.

     

    커널 이미지

     

     


    < 이중모드 >

    일반 프로그램은 자원에 직접 접근이 불가능합니다. 오직 운영체제를 통해서만 접근하도록 하여 자원을 보호합니다.
    (운영체제는 자원 접근을 대행하는 일종의 문지기 입니다.)

    이중모드란 CPU가 명령어를 실행하는 모드을 크게 사용자 모드커널 모드로 구분하는 방식입니다.

     

    [ 사용자 모드 ]

    • 운영체제 서비스를 제공받을 수 없는 실행 모드
    • 자원 접근을 비롯한 커널 모드 명령어 실행 불가능

     

    [ 커널 모드 ]

    • 운영체제 서비스를 제공받을 수 있는 실행 모드
    • 자원 접근을 비롯한 모든 명령어 실행 가능

     

     

     

    CPU 내부의 플래그 레지스터 안 '슈퍼바이저 플래그' 값에 현재 모드를 저장합니다.
    슈퍼바이저 플래그가 1일 경우 커널 모드로 실행 중임을 의미하고, 0일 경우 사용자 모드로 실행 중임을 의미합니다.

    참조 : https://begin-to-end-project.tistory.com/199

     

     


    < 시스템 호출  >

    시스템 호출(시스템 콜)은 운영체제 서비스를 제공받기 위해 커널 모드로 전환하는 방법입니다.

    일종의 소프트웨어 인터럽트 입니다.
    : 시스템 호출이 처리되는 방식은 하드웨어 인터럽트 처리 방식과 유사

     

    01
    시스템 호출 처리 방식

     


     

    Ex: 리눅스의 시스템 콜 모음

    +. 시스템 호출은 운영체제마다 정해져 있습니다.

     

     


    < 운영체제의 핵심 서비스 >

    [ 프로세스 관리 ]

    • 현재 실행 중인 프로그램을 프로세스라고 부릅니다.
      (수많은 프로세스들이 동시에 실행됩니다)
    • 운영체제는 동시다발적으로 생성/실행/삭제되는 다양한 프로세스를 일목요연하게 관리합니다.

    운영체제의 프로세스 관리

     


    [ 자원 접근 및 할당 ]

    • CPU 접근 및 할당(CPU 스케줄링) : 어떤 프로세스를 먼저, 얼마나 오래 실행할까를 판단

    CPU 스케줄링

     

    • 메모리 접근 및 할당 : 페이징, 스와핑, etc.

    메모리 접근 및 할당

     

    • 입출력 장치 접근 및 할당 : 인터럽트 서비스 루틴 기능 제공(커널 영역에 적재되어 있음)

     

     


    [ 파일 시스템 관리 ]

    • 관련된 정보를 파일이라는 단위로 저장 장치에 보관
    • 파일들을 묶어 폴더(디렉터리) 단위로 저장 장치에 보관

     

     

     

     

    댓글

Designed by Tistory.