CS지식 쌓기

운영체제

류도토리 2024. 1. 2. 17:13
  1. 운영체제란?
    1. 프로그램 실행에 있어 마땅히 필요한 요소
    2. 컴퓨터의 네 가지 핵심 부품 포함
    3. 실행할 프로그램에 필요한 자원을 할당
    4. 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램
    5. 메모리의 커널 영역에 적재되어 실행되는 프로그램
    6. 실행 순서 및 얼마나 실행할지 정해줌
    7. 현존하는 프로그램 중 규모가 가장 큰 프로그램 중 하나
  2. 커널
    1. 운영체제의 핵심 서비스를 담당하는 부분
  3. 유저 인터페이스
    1. 운영체제에 속하지만 커널에 속하지 않음
  4. 이중 모드
    1. CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식
    2. 사용자 모드
      1. 운영체제의 서비스를 제공 받을 수 없는 실행 모드
      2. 커널 영역의 코드를 실행할 수 없는 실행 모드
      3. 자원 접근 불가
    3. 커널 모드
      1. 운영체제의 서비스를 제공 받을 수 있는 실행 모드
      2. 자원 접근을 비롯한 모든 명령어 실행 가능
  5. 시스템 호출
    1. 커널 모드로 전환하여 실행하기 위해 호출
    2. 일종의 소프트웨어 인터럽트
  6. 운영체제의 핵심 서비스
    1. 프로세스 관리
      1. 프로세서 = 실행 중인 프로그램
      2. 수많은 프로세스들이 동시에 실행
      3. 동시다발적으로 생성.실행,삭제되는 프로세스를 일목요연하게 관리
    2. 자원 접근 및 할당
      1. CPU 스케줄링 : 어떤 프로세스를 먼저, 얼마나 오래 실행할까?
      2. 메모리 (페이징, 스와핑…)
      3. 입출력장치
    3. 파일 시스템 관리
      1. 관련된 정보를 파일이라는 단위로 저장 장치에 보관
      2. 파일들을 묶어 폴더(디렉토리) 단위로 저장 장치에 보관