CS/컴퓨터 구조

[컴퓨터 구조](9)[운영체제의 추상화]

황올뱀 2025. 1. 17. 16:12

운영체제는 하드웨어를 관리한다.
운영체제에서 사용되는 추상화

  • 파일: 입출력 장치의 추상화
  • 가상 메모리: 메인 메모리와 입출력 장치의 추상화
    • 각 프로세스들이 메인 메모리를 독점으로 사용하는 것 같게 느끼게 함.
      분할된 메모리 영역에서 가상주소를 받고 그걸 사용함.
    • 예시) 프로세스 A가 메모리를 할당받는다면, A 속 어떤 명령의 가상 주소 = k,
      A 속 어떤 명령의 물리적 주소 = 프로세스 A의 물리적 주소 + k
  • 프로세스: 프로세서, 메인 메모리, 입출력 장치의 추상화
    • 프로세스는 여러개 동시에 실행 가능
      (프로세스를 재빨리 바꿔 동시에 실행하는 것처럼 보임(context switching).
      바뀔 때 실행한 내용은 저장하고 서로 참조함.)
    • 요즘엔 프로세스를 쓰레드라는 다수의 실행 유닛으로 구성함.
      쓰레드는 저장된 자료를 참고하기 더 용이해서
      프로세스 여러개 돌리는 것보다 쓰레드 여러개 돌리는게 더 효율적.
  • 기타 등등

동시성과 병렬성

  • 동시성: 단지 다수의 일이 동시에 벌어지는 것을 뜻함
  • 병렬성: 동시성을 사용해서 시스템이 빠르게 동작하는 것을 뜻함
  • 쓰레드 수준 동시성(한 프로세서 내 다양한 동작)
    • 시간 공유: 프로세서들끼리 빠르게 전환해 동시에 실행하는 것처럼 보이게 하는 방법
    • 단일 프로세서 시스템: 실질적 계산을 한개의 프로세서에서만 하게 시스템 구성하는 방법
    • 멀티 프로세서 시스템: 여러개의 프로세서를 동시에 돌리기 (멀티코어 프로세서, 하이퍼쓰레딩)
  • 인스트럭션 수준 병렬성(최근엔 여러개의 명령어(인스트럭션)를 한번에 실행할 수 있게 됨)
    • 싱글 인스트럭션, 다중 데이터 병렬성
728x90
반응형