CS/운영체제

[운영체제] KOCW 반효경 교수님 강의 - 2. Introduction to Operating System

pythaac 2022. 3. 11. 16:29
  • 운영체제 정의
    • 하드웨어 바로 위에 올라가는 소프트웨어
    • 커널 : 운영체제의 핵심 기능으로, 항상 메모리에 상주
  • 운영체제 기능
    • 사용자에게 편리한 기능 제공
    • 자원을 효율적으로 관리
      • 성능 : 더 빠르게
      • 형평성 : 모든 사용자가 공평하게
  • 운영체제 분류
    • 동시 작업
    • 사용자
    • 처리 방식
      • 시분할
      • 실시간
      • 일괄 처리(batch) : 모아서 처리하는 것이 더 효율적이기 때문
  • 용어 -> 다 비슷한 용어
    • Multi Tasking
      • 동시 실행
    • Multi Programming
      • 메모리 관점
      • 메모리에 여러 프로그램이 올라가는 것
    • Time Sharing
      • 시분할
      • CPU 관점
    • Multi process
    • [구분] Multi Processor
      • 하나의 컴퓨터에 CPU가 여러 개 붙어 있음을 의미
  • 운영체제의 예
    • Unix
      • 다중 사용자
      • C언어로 작성
      • 공개 소프트웨어
      • 이식성이 좋음 (C언어로 다른 컴퓨터로 가져가서 컴파일하면 됨)
    • Windows
      • 단일 사용자
  • 운영체제의 구조
    • 전체 시스템 관점에서 바라봄
    • CPU
      • CPU 스케줄링 : 어떤 프로그램에 할당시킬까?
      • 빨리 끝날 테스크를 먼저
      • 같은 시간으로 나누어서
    • Memory
      • 메모리 관리 : 한정된 메모리를 어떻게 쪼개서 쓸까?
      • 모든 프로그램에게 1/n로 메모리를 나누어 주는 것이 항상 옳은가
      • 어떤 메모리를 메모리에 올리고, 디스크에 내려야할까? -> 과거 상황에 입각
    • Disk
      • 파일 관리 : 디스크에 파일을 어떻게 보관할까?
      • 엘레베이터 스케줄링과 유사
      • 버튼이 1층 -> 100층 -> 2층 눌렸을 때, 1층 -> 2층 -> 100층을 가는 것이 더 효율적
    • I/O device
      • 입출력 관리 : 컴퓨터간 정보를 어떻게 주고 받을 것인가
      • 입출력 관리는 느리고, CPU는 빨라서 그 격차가 큼
      • 인터럽트
    • 프로세스
      • 프로세스 할당과 관리
    • 그 외
      • 보안
      • 명령 처리