HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
👻
개발 기록
/
📑
강의 정리
/
🗝️
덕수의 운영체제
/
📼
overview
📼

overview

OS의 하드웨어 관리

 
notion image
  • 하드웨어
    • 프로세서 : 계산
      • 동작 제어
      • 단기 기억
      • CPU
      • 레지스터 + 연산장치 + 제어장치
      • 프로세서의 관리도 운영체제의 역할 중 하나임.
      • 프로세서에도 메모리가 존재하는 데 단기 기억으로 가장 빠름.
    • 메모리 : 저장
      • notion image
      • 예) 캐시 : CPU, 메인 메모리(주 기억 장치) : DRAM, 보조기억장치 : HDD, 메모리 카드
      • 메인 메모리는 디스크 입출력 병목 현상(I/O bottleneck) 해소.
      • 갭을 해소하기 위해 메인 메모리 사용
        갭을 해소하기 위해 메인 메모리 사용
      • 캐시는 메인 메모리의 입출력 병목현상을 해소함.
      • 캐시는 일반적으로 하드웨어에서 관리 됨. 필요한 데이터 블록이 캐시에 존재하는 것을 cache hit, 필요한 데이터 블록이 없는 경우를 cache miss라 함.
      • 지역성은 캐시 적중률과 밀접함. 여기서 지역성은 공간적 지역성 (참조한 주소와 인접한 주소를 참조하는 특성), 시간적 지역성 (한 번 참조한 주소를 곧 다시 참조하는 특성)을 말함.
    • 주변 장치 : 그 외 장치 드라이버 관리, 인터럽트 처리, 파일 및 디스크 관리
      • 키보드를 쳤을 때 OS에 알려주는 역할을 하는 인터럽트가 있음.
  • 시스템 버스
    • 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로.
    • 프로세서, 메인 메모리, 주변 장치가 시스템 버스로 커뮤니케이션 하는 형태.
notion image
notion image
 

운영체제의 역할

  • User Interface (편리성)
    • CUI (Character user interface)
    • GUI (Graphical user interface)
    • EUCI (End-User comfortable interface)
  • Resource Management (효율성)
    • HW resource (processor, memory, I/O devices etc)
    • SW reource (file, application, message, signal etc)
  • Process and Thread management
  • System manangement (시스템 보호)
 

운영체제의 구분

  • 동시 사용자 수
    • single-user system (대부분 일반 컴퓨터)
    • multi-user system
  • 동시 실행 프로세스 수
    • single-tasking system
    • multi-tasking system (멀티 프로그래밍 시스템)
  • 작업 수행 방식 (사용자가 느끼는 사용 환경)
    • 예전엔 순차 처리로 진행.
    • Batch processing system
    • Time-sharing system (시분할 시스템)
      • OS가 파일 시스템 및 가상 메모리 관리 시작점.
      • 사용자 지향적, 단말기 사용.
      • 단점 ) 통신 비용 증가, 보안 문제, 동시 사용자 수가 많아질수록 시스템 부하가 일어나 느려짐. 개인 사용자 체감 속도 저하.
    • Distributed procssing system (personal computing, parallel procssing system)
      • 신뢰성 향상, cpu가 여러 개 이기에 그 중 하나가 고장나도 성능은 느려질 수 있지만 멈추진 않음.
    • Real-time system
      • 작업 처리에 제한 시간을 갖는 시스템
      • 작업의 종류로는 Hard real-time task(ex. 발전소 제어, 무기 제어), Soft real-time task(ex. 동영상 재상) 이 있음.
 

운영체제의 구조

전통적인 UNIX 시스템 구조
전통적인 UNIX 시스템 구조
  • 커널
    • OS의 핵심 부분 (메모리 상주)
    • 가장 빈번하게 사용되는 기능들 담당, 시스템 관리 등
  • 쉘
    • 사용자 인터페이스 제공
    • 사용자의 명령을 입력받아 처리한 후 결과를 출력
  • 유틸리티
    • 비상주 프로그램
    • UI, 문서 편집 도구 등
    •  
  • 단일 구조
  • 계층 구조
  • 마이크로 커널 구조
 

운영체제의 기능

  • 메인 기능은 리소스 관리.
  • 리소스에는 하드웨어와 소프트웨어가 있음.
  • 여기서 프로세스 관리만 조금 더 언급하자면
    • 실행을 위해 시스템(커널)에 등록된 작업.
    • 시스템 성능 향상을 위해 커너렝서 관리.
    • job이 메모리에 할당을 받으면 프로세스가 됨.
    • 한마디로 실행 중인 프로그램을 말함.
for(let i = 0; i < n; i++) { for(let j = 0; j < m; j++) { // A) arr[i][j] or B) arr[j][i] } } A의 경우 지역성으로 인해 캐시 적중이 계속 일어나지만 B의 경우 캐시 miss가 일어남.