운영체제(1) - 운영체제 큰 그림

2025. 12. 7. 18:23·CS/운영체제

운영체제의 역할

  • 자원: 프로그램 실행에 마땅히 필요한 요소
    • 소프트웨어
    • 하드웨어

CPU 관리: CPU 스케줄링

  • 실행 중인 모든 프로그램들이 공정하고 합리적으로 CPU를 할당받도록 CPU의 할당 순서와 사용 시간 결정

메모리 관리: 가상 메모리

  • 실제 물리적인 메모리 크기보다 더 큰 메모리를 이용할 수 있도록 하는 기술

파일/디렉터리 관리: 파일 시스템

  • 보조기억장치 내의 정보를 파일 및 디렉터리 단위로 접근, 관리할 수 있도록 만드는 운영체제 내부 프로그램

프로세스 및 스레드 관리

  • 프로세스: 실행 중인 프로그램
  • 스레드: 프로세스를 이루는 실행의 단위

시스템 콜과 이중 모드

  • 운영체제의 기능을 제공받기 위해서는 커널 영역에 적재된 운영체제 코드를 실행해야 한다

  • 시스템 콜: 응용 프로그램은 시스템 콜을 호출하여 운영체제 코드 실행
    • 운영체제의 서비스를 제공 받기 위한 수단으로, 호출 가능한 함수의 형태를 가짐
    • `open()`, `close()`, `read()`, `write()` 등

시스템 콜 과정

  1. 사용자 영역을 실행하는 과정에서 시스템 콜이 호출되면 CPU는 현재 수행 중인 작업을 백업
  2. 커널 영역 내의 인터럽트를 처리하기 위한 코드(시스템 콜을 구성하는 코드)를 실행
  3. 다시 사용자 영역의 코드 실행 재개

  • 사용자 모드: 사용자 영역에 적재된 코드를 실행할 때의 모드
    • 운영체제 서비스를 제공받을 수 없는 실행 모드
  • 커널 모드: 커널 영역에 적재된 코드를 실행할 때의 모드
    • 운영체제 서비스를 제공받을 수 있는 실행 모드

 

'CS/운영체제' 카테고리의 다른 글
  • 운영체제(5) - 가상 메모리
  • 운영체제(4) - CPU 스케줄링
  • 운영체제(3) - 동기화와 교착 상태
  • 운영체제(2) - 프로세스와 스레드
KDH.dev
KDH.dev
  • KDH.dev
    CodingHard
    KDH.dev
  • 전체
    오늘
    어제
    • 전체글 (105)
      • 코딩테스트 (74)
        • 프로그래머스 (13)
        • 백준 (61)
      • CS (27)
        • 네트워크 (5)
        • 컴퓨터구조 (5)
        • 운영체제 (6)
        • 자료구조 (5)
        • 데이터베이스 (6)
      • Spring (1)
      • Java (3)
        • 자료구조 (3)
        • 알고리즘 (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    CS
    [LG유플러스] 유레카 백엔드 개발자
    백준
    컴퓨터구조
    프로그래머스
    16935
    21736
    부트캠프후기
    30804
    14940
    멀티캠퍼스부트캠프
    자료구조
    데이터베이스
    프로그래머스 Lv.0
    멀티캠퍼스it부트캠프
    네트워크
    코딩테스트
    자바
    운영체제
    13913
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
KDH.dev
운영체제(1) - 운영체제 큰 그림
상단으로

티스토리툴바