운영체제 - 1. 시스템 개요

새턴·2021년 7월 17일
0

Operating system

목록 보기
1/3

https://sites.google.com/view/hpclab/courses/operating-system
https://youtu.be/EdTtGv9w2sA
한국기술교육대학교 김덕수교수님 운영체제 강의 듣고 정리합니다.

컴퓨터 시스템 개요

Computer system overview

운영체제(Operating System, OS)

  • An operating system is
    • a software that operates a computer system

컴퓨팅 자원(컴퓨터 시스템 자원, HW)들을 효율적으로 관리해서 그것을 통해서 사용자에게 서비스를 제공하는 소프트웨어

컴퓨터 하드웨어

  • 프로세서(Processor) - 계산, 연산
    • CPU
    • 그래픽카드(GPU)
    • 응용 전용 처리장지 등(...)
  • 메모리(Memory) - 저장
    • 주 기억장치
    • 보조 기어장치 등

프로세서(Processor)

컴퓨터의 두뇌(중앙처리장치)

  • 연산 수행

레지스터(Register)

프로세서 내부에 있는 메모리

  • 프로세서가 사용할 데이터 저장
  • 컴퓨터가 가장 빠른 메모리

사용자 가시 레지스터

  • 데이터 레지스터 - 함수 연산에 필요한 데이터를 저장. 값, 문자 등을 저장하므로 산술연산이나 논리 연산에 사용하며, 연산 결과로 플래그 값을 저장.
  • 주소 레지스터 - 주소나 유효 주소를 계산하는 데 필요한 주소 일부분을 저장. 주소 레지스터에 저장한 값(값 데이터)를 사용하여 산술 연산을 할 수 있다.

사용자 불가시 레지스터

  • 프로그램 카운터(PC, Program Counter) - 다음에 실행할 명령어의 주소를 보관하는 레지스터. 계수기로 되어 있어 실행 할 명령어를 메모리에서 읽으면 명령어 길이만큼 증가하여 다음 명령어를 가리킴. 분기 명령어는 목적 주소로 갱신할 수 있다.
  • 명령어 레지스터(IR, Instruction Register) - 현재 실행하는 명령어를 보관하는 레지스터.
  • 누산기(ACC, ACCumulator) - 데이터를 일시적으로 저장하는 레지스터.
  • 메모리 주소 레지스터 - 프로세서가 참조하려는 데이터의 주소를 명시하여 메모리에 접근하는 버퍼 레지스터.
  • 메모리 버퍼 레지스터(MBR, Memory Buffer Register) - 프로세서가 메모리에서 읽거나 메모리에 저장할 데이터 자체를 보관하는 버퍼 레지스터이다. 메모리 데이터 레지스터(MDR, Memory Data Register)라고도 함.

운영체제와 프로세서

프로세서에게 처리할 작업 할당 및 관리

  • 프로세스(Process) 생성 및 관리

프로그램의 프로세서 사용 제어

  • 프로그램의 프로세서 사용 시간 관리
  • 복수 프로그램간 사용 시간 조율 등

메모리(Memory)

데이터를 저장하는 장치 (기억장치)

  • 프로그램(OS, 사용자SW 등), 사용자 데이터 등

메모리의 종류

  • 레지스터 (가장 속도가 빠르다. 가격은 비싸다. 용량은 가장 작다)
  • 캐시(Chache)
    • 프로세서 내부에 있는 메모리(L1, L2 캐시 등)
      • 속도가 빠르고, 가격이 비쌈
    • 메인 메모리의 입출력 병목현상 해소
    • 캐시의 동작
      • 일반적으로 HW적으로 관리 됨
      • 캐시 히트 (Cache hit)
        • 필요한 데이터 블록이 캐시 존재
      • 캐시 미스 (Cache miss)
        • 필요한 데이터 블록이 없는 경우
    • 지역성(Locality)
      • 공간적 지역성(Spatial locality)
        • 참조한 주소와 인접한 주소를 참조하는 특성
          • 예) 순차적 프로그램 수행
      • 시간적 지역성(Temporal locality)
        • 한 번 참조한 주소를 곧 다시 참조하는 특성
          • 예) For 문 등의 순화문
      • 지역성은 캐시 적중률(cache hit ratio)과 밀접
        • 알고리즘 성능 향상 위한 중요한 요소 중 하나
  • 메인메모리 -DRAM
    • 주 기억 장치(Main Memory)
    • 프로세서가 수행할 프로그램과 데이터 저장
    • DRAM을 주로 사용
      • 용량이 크고, 가격이 저렴
    • 디스크 입출력 병목현상(I/O bottleneck)해소
  • 보조기억장기 - 하드디스크 (가장 속도가 느리고 가격은 싸다. 용량은 크다)
    • 보조기억장치(Auxiliary memory / secondary memory / storage)
      • 프로그램과 데이터를 저장
      • 프로세서가 직접 접근할 수 없음(주변장치)
        • 주 기억장치를 거쳐서 접근
        • (프로그램/데이터 > 주기억장치) 인경우는?
          • 가상 메모리(Virtual memory)
      • 용량이 크고, 가격이 저렴

시스템 버스(System Bus)

  • 하드웨어들이 데이터 및 신호를 주고받는 물리적인 통로

데이터버스

프로세서와 메인 메모리, 주변장치 사이에서 데이터를 전송한다. 데이터 버스를 구성하는 배선 수는 프로세서가 한 번에 전송할 수 있는 비트 후를 결정하는데, 이를 위드라고 한다.

주소 버스

프로세서가 시스템의 구성요소를 식별하는 주소 정보를 전송한다. 주소 버서를 구성하는 배선 수는 프로세서와 접속할 수 있는 메인 메모리의 최대 용량을 결정한다.

주변 장치

  • 프로세서와 메모리를 제외한 하드웨어들
    • 입력장치 - 키보드, 마우스 등
    • 출력장치 - 모니터, 프린터기, 스피커 등
    • 저장장치 - CD, USB, SD카드 등

주변장치와 운영체제

  • 장치드라이버관리
    • 주변장치 사용을 위한 인터페이스 제공
  • 인터럽트(Interrupt) 처리
    • 주변 장치의 요청 처리
  • 파일 및 디스크 관리
    • 파일 생성 및 삭제
    • 디스크 공간 관리 등
profile
Dev.

0개의 댓글