혼공컴운 챕터 9. 운영체제 시작하기

김민영·2023년 2월 4일
0

혼공학습단

목록 보기
7/22
post-thumbnail

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

운영체제란

  • 시스템 자원, 자원 : 하드웨어
  • 운영체제 : 프로그램에 자원 할당
  • 커널 영역 : 운영체제가 적재되는 공간
  • 사용자 영역 : 커널 영역을 제외한 영역. 사용자가 이용하는 응용 프로그램이 적재되는 영역

필요성

  • 하드웨어, 프로그램 상태 파악 - 깊은 이해
  • ex. 메모리 누수 현상, 잘못된 주소 참조

9-2 운영체제의 큰 그림

커널

커널

  • 운영체제의 핵심 서비스 담당
  • 자원에 접근, 조작, 프로그램 실행
  • 하드웨어와 응용 프로그램 사이에 위치

사용자 인터페이스

  • 사용자가 컴퓨터와 상호작용할 수 있는 통로

그래픽 유저 인터페이스 GUI

커맨드 라인 인터페이스 CLI

이중 모드, 시스템 호출

  • 운영체제 : 응용 프로그램이 하드웨어 자원에 직접 접근 방지. : 자원 보호

이중 모드

  • CPU 가 명령어를 실행하는 모드를 사용자 모드커널 모드로 구분하는 방식

사용자 모드

  • 운영체제 서비스를 제공받을 수 없는 실행 모드
  • 커널 영역의 코드를 실행할 수 없는 모드
  • 응용 프로그램이 실행되는 모드
  • 자원 접근 불가능

커널 모드

  • 운영체제 서비스를 제공받을 수 있는 실행 모드
  • 커널 영역의 코드를 실행할 수 있는 모드
  • 자원 접근 가능

    플래그 레지스터의 슈퍼바이저 플래그를 통해 현재 사용자 모드인지, 커널 모드인지 확인할 수 있음.

시스템 호출, 시스템 콜

  • 운영체제 서비스를 제공받기 위한 요청
  • 커널 모드로 전환
  • 소프트웨어 인터럽트

과정

  1. 하드웨어에 접근하는 시스템 호출 발생 - 커널 모드로 전환
  2. 운영체제 내의 하드웨어에 접근하는 코드 실행하여 하드웨어 접근
  3. 하드웨어 접근이 끝나면 사용자 모드로 복귀

핵심 서비스

프로세스 관리

  • 프로세스 : 실행 중인 프로그램
  • 프로세스를 효율적으로 관리 ( 프로세스 동기화, 교착 상태 해결 )

자원 접근 및 할당

CPU

  • CPU 스케줄링 : CPU를 프로세스에 공정하게 할당

메모리

  • 메모리에 프로세스를 적재할 때, 운영체제는 어느 주소에 적재할지 결정
  • 메모리 할당, 메모리 부족할 경우 처리

입출력장치

  • 인터럽트 서비스 루틴은 운영체제가 제공하는 기능. 커널 영역에 존재
  • 하드웨어 인터럽트 (입출력장치가 발생)도 마찬가지
  • 입출력장치가 CPU에 하드웨어 인터럽트 요청 신호를 보내면, CPU는 하던 일 중단하고, 커널 영역의 인터럽트 서비스 루틴 실행

파일 시스템 관리

  • 디렉토리도 운영체제가 지원하는 서비스

추가

가상머신과 이중 모드

가상 머신

  • 소프트웨어적으로 만든 가상 컴퓨터.
  • 새로운 운영체제와 응용 프로그램을 설치하고 실행할 수 있음.
  • 가상머신도 사용자 모드로 실행되는데, 그러면 가상머신의 리눅스와 같은 운영체제 서비스를 제공받기 어려움
  • 가상화를 지원하는 CPU는 하이퍼 바이저 모드를 따로 지원

시스템 호출 종류

프로세스 관리

  • fork(), execve(), exit(), waitpid()

파일 관리

  • open(), close(), read(), write(), stat()

디렉터리 관리

  • chdir(), mkdir(), rmdir()

파일 시스템 관리

  • mount(), unmount()
profile
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=

0개의 댓글