2025-12-09

오늘 배운 것

09-1 운영체제를 알아야 하는 이유

운영체제란

  • 운영체제
    • 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램
    • 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행

      → 커널영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 올바르게 실행되도록 도움

    • 하는 일
      • 메모리 주소가 겹치지 않도록 적당한 공간에 프로그램들을 적재
      • 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리
      • 최대한 공정하게 여러 프로그램에 CPU 자원을 할당
      • 응용 프로그램과 하드웨어 사이에서 응용프로그램에 필요한 자원을 할당
      • 응용 프로그램이 올바르게 실행되도록 관리
  • 사용자 영역
    • 커널 영역을 제외한 나머지 영역, 사용자가 이용하는 응용프로그램이 적재되는 영역

운영체제를 알아야 하는 이유

  • 운영체제를 통해 현재 하드웨어의 상태, 코드가 어떻게 실행되고 있는지, 하드웨어 상 어떤 문제가 있었는지 알 수 있고 이를 통해 문제 해결의 실마리를 찾을 수 있음

09-2 운영체제의 큰 그림

운영체제의 심장, 커널

  • 커널
    • 운영체제의 핵심 서비스를 담당하는 부분
  • 사용자 인터페이스
    • 운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스
    • 윈도우의 바탕화면과 같이 사용자가 컴퓨터와 상호작용할 수 있는 통로
    • 그래픽 유저 인터페이스
      • 그래픽을 기반으로 컴퓨터와 상호 작용할 수 있는 인터페이스
      • 윈도우 바탕화면, 스마트폰 화면
    • 커맨드 라인 인터페이스
      • 명령어를 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스

이중 모드와 시스템 호출

  • 운영체제는 응용프로그램들이 자원에 접근하려고 할 때 오직 자신을 통해서만 접근하도록 하여 자원을 보호
  • 응용프로그램의 요청을 받은 운영체제는 응용 프로그램 대시 자원에 접근하여 요청한 작업 수행
  • 이중 모드
    • CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
      • 사용자 모드
        • 운영체제 서비스를 제공받을 수 없는 실행 모드
        • 커널 영역의 코드를 실행할 수 없는 모드
      • 커널 모드
        • 운영체제 서비스를 제공받을 수 있는 실행 모드
        • 커널 영역의 코드를 실행 할 수 있는 모드
        • 자원에 접근하는 명령어
  • 시스템 호출
    • 운영체제 서비스를 제공받기 위해 커널 모드로 전환하는 방법
    • 소프트웨어 인터럽트
      • 특정 명령어에 의해 발생하는 인터럽트
    • 시스템 호출 처리 순서
      • 시스템 호출을 발생시키는 명령어 실행
      • CPU가 지금까지의 작업을 백업
      • 커널 영역 내에 시스템 호출을 수행하는 코드(인터럽트 서비스 루틴)를 실행
      • 기존에 실행하던 응용 프로그램으로 복귀하여 실행
    • 시스템 호출 작동 과정
      • 커널 영역의 코드를 실행하는 시스템 호출 발생하여 커널 모드로 전환
      • 운영체제 내의 특정 작업을 수행하는 코드 실행
      • 작업이 완료되면 다시 사용자 모드로 복귀하여 실행을 계속 이어감

results matching ""

    No results matching ""