[Study] 5주차(2)

hyo_d·2023년 4월 25일
0

Study

목록 보기
9/9

운영체제

개념

  • 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 프로그램
  • 사용자 영역 - 응용 프로그램, 커널 영역 - 운영체제
  • 운영체제는 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나
  • 메모리, CPU, 입출력장치를 관리
  • 응용 프로그램과 하드웨어 중간에서 프로그램이 실행되도록 도움(개발자가 직접적으로 하드웨어에 접근하는 코드를 작성할 필요가 없음)
  • 운영체제는 사용자를 위한 프로그램이 아니라 프로그램을 위한 프로그램 -> 프로그램을 만드는 개발자는 운영체제를 알아야 한다 -> 문제 해결 능력(오류 메세지에 대한 깊은 이해)

커널

  • 운영체제는 다양한 종류가 있으나 자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능 등 공통적으로 핵심적인 서비스를 제공한다.
  • 운영체제에는 속하는데 커널에는 속하지 않는 기능: 유저 인터페이스(UI)
    • 사용자와 컴퓨터 간의 통로일 뿐 운영체제의 핵심 기능(커널)은 아님
  • 운영체제는 응용 프로그램들이 자원에 접근하려 할 때 오직 자신을 통해서만 접근하도록 하여 자원 보호
    • 사용자는 프로그램에 직접 접근하는 것은 위험하기에 불가

이중모드

  • CPU가 명령어를 실행하는 모드를 크게 사용자 모드커널 모드로 구분하는 방식
  • 사용자 모드
    • 운영체제 서비스를 제공받을 수 없는 실행 모드
    • 커널 영역의 코드를 실행할 수 없는 실행 모드
    • 자원 접근 불가
  • 커널 모드
    • 운영체제의 서비스를 제공받을 수 있는 실행 모드
    • 자원 접근을 비롯한 모든 명령어 실행 가능

시스템 호출

  • 커널 모드로 전환하여 실행하기 위해 호출
  • 일종의 소프트웨어 인터럽트
    • 시스템 호출 -> 운영체제 코드 실행 -> 시스템 호출 복귀

운영체제 핵심 서비스

  • 프로세스 관리
    • 프로세스 == 실행 중인 프로그램
    • 수많은 프로세스들이 동시에 실행
    • 동시다발적으로 생성/실행/삭제되는 다양한 프로세스를 일목요연하게 관리
  • 자원 접근 및 할당
    • CPU 스케줄링: 어떤 프로세스를 먼저, 얼마나 오래 실행할지
    • 메모리: 페이징, 스와핑 새로운 프로세스를 적재/삭제 할 때
    • 입출력장치
  • 파일 시스템 관리
    • 관련된 정보를 파일이라는 단위로 저장 장치에 보관
    • 파일들을 묶어 폴더 단위로 저장 장치에 보관
profile
햇병아리

0개의 댓글