1. 운영체제와 컴퓨터

푸른별·2023년 9월 19일
0

Operating System

목록 보기
2/2
post-thumbnail

1. 운영체제란

운영체제(OS): 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스로, 한정된 메모리 및 시스템 자원을 효율적으로 분배해줍니다.

2. 운영체제의 역할 및 구조

  1. 운영체제의 역할
    1. CPU 스케줄링과 프로세스 관리
      CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성, 삭제, 자원 분배 등을 관리합니다.
    2. 메모리 관리
      프로세스에 메모리를 얼만큼 할당할지 관리합니다.
    3. 디스크 파일 관리
      디스크 파일을 어떻게 보관할지 관리합니다.
    4. I/O 디바이스 관리
      마우스, 키보드와 컴퓨터 간 데이터를 주고받는 것을 관리합니다.
  2. 운영체제의 구조

    프로그램과 하드웨어 사이에서 프로세스 및 자원을 관리

  • GUI: 사용자가 편리하게 사용할 수 있도록 입출력과 같은 기능을 아이콘 같은 그래픽으로 나타낸 것

  • Driver: HW를 제어하기 위한 SW

  • Kernel: OS의 핵심 요소이자 System Call 인터페이스 제공.
    메모리, 프로세스, 파일 시스템 관리 등 OS의 중추적인 역할

  • CUI: 그래픽이 아닌 명령어로 처리하는 인터페이스(문자를 직접 입력)

3. 시스템 콜

  • 시스템 콜: OS가 커널에 접근하기 위한 인터페이스이며, 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 사용
    (비유하자면 고위험군 실험실에 접근해서 필요한 재료들을 가져오기 위해 관리자 ID카드를 빌려온다고 생각하면 될 것 같습니다.)

  • 가령 프로세스나 스레드에서 OS로 어떤 요청을 할 때 시스템 콜과 커널을 거쳐 OS로 요청이 전달됩니다.

    다음의 그림 자료를 보면 fs.readFile()이라는 파일 읽기 함수가 동작한 상황입니다.
    이 때 유저 모드가 아니라 커널 모드로 들어가 파일 시스템 내 파일을 읽고 다시 유저 모드로 돌아와 나머지 유저 프로그램의 작업을 이어갑니다.
    이렇게 하면 컴퓨터 자원으로의 직접적 접근을 차단하고 프로그램을 다른 프로그램으로부터 보호할 수 있습니다.

  • 유저 모드와 커널 모드를 구분할 때 시스템 콜은 modebit을 참고합니다. (modebit은 1bit 플래그 변수, 0: 커널 모드, 1: 유저 모드)
    시스템 콜을 호출하여 커널 모드로 들어갈 때 modebit은 1->0이 됩니다.

  • User Mode: 접근 가능한 영역이 제한되며, 컴퓨터 자원에 권한 없이 침범하지 못하는 모드

  • Kernel Mode: 모든 컴퓨터 자원에 자유롭게 접근할 수 있는 모드

4. Reference

면접을 위한 CS 전공지식 노트 - 길벗(2022)
https://blog.naver.com/jhc9639/222714239679

profile
묵묵히 꾸준하게

0개의 댓글