OS-1)컴퓨터 시스템

topics 700-컴퓨터과학 704 운영체제
types 학습 이론
tags #os #computer-system #memory

컴퓨터 시스템

운영체제 학습의 기초가 되는 컴퓨터 시스템 구조를 정리한다.

관련 문서


주요 구성요소

  • 하드웨어
    • CPU & 장치제어기 + α(메인메모리 등)
    • 각 장치제어기는 지역버퍼를 가진다
    • 드라이브: 입출력 제어기와 커널 사이의 일관된 인터페이스 제공
  • 운영체제
  • 응용프로그램
  • 사용자

==저장장치(메모리) 계층 구조==

스크린샷 2024-03-10 오후 8.32.38.png

주기억장치

레지스터

  • CPU 내부, 휘발성
  • CPU 계산 과정에서 사용되는 메모리스크린샷 2024-04-03 오전 10.49.53.png

캐시

  • CPU 내부, 휘발성, SRAM
  • 보다 데이터를 빨리 얻기 위해 사용하는 임시저장소다
  • 이미 데이터가 존재하는지 확인하고 지역성에 따라 데이터를 일시저장한다
  • 캐시 일관성을 유지해야 한다
  • 내부적으로 L1, L2, L3로 또 계층적으로 나뉜다 (L1, L2는 코어마다, L3은 코어 전체 공유)

메인 메모리

  • CPU 외부, 휘발성, DRAM
  • Random Access(임의 접근)
  • 프로그램/프로세스가 실행되려면 해당 프로그램이 메모리에 적재되어야 한다
  • CPU 외부에 있으면서 CPU가 직접 접근 가능한 유일한 장치

ROM

  • 계층 구조에는 보통 포함 안됨
  • CPU 외부, 비휘발성
  • BIOS 같은 부트 프로그램이 저장되어 있다

보조기억장치

  • HDD(하드디스크): 물리적으로 회전시켜 데이터 저장
  • SSD: 전기적(반도체)으로 데이터 저장

작동 방식

대체적으로 폰노이만구조를 띈다 (하나의 시스템 버스에 연결됨)

스크린샷 2024-04-03 오후 2.24.19.png

구성요소들 간에 시스템 버스를 이용하여 데이터를 전송한다.

시스템 버스

  • 주소버스, 제어버스, 데이터버스

DMA (Direct Memory Access)

  • 메인 메모리 속도에 근접한 속도로 전송 가능
  • 고속 입출력 장치에 사용
  • 장치제어기는 데이터 블록을 장치버퍼에서 바로 메인메모리로 직접 전송 (CPU 개입 X)
  • 바이트가 전송될 때마다 인터럽트 X, 블록의 전송이 끝날 때마다 하나의 인터럽트

버스 vs 커널

  • 버스: 하드웨어들 간의 데이터 전송
  • 커널: 소프트웨어 ↔ 하드웨어 인터페이스 역할

연산 과정

  • CPU와 I/O 장치는 병행 실행된다
  • 컴퓨터는 하나 이상의 CPU에 여러 가지 I/O 장치가 메모리에 연결되어 있다. 때문에 메모리 자원을 가지고 경쟁하게 된다
  • 각 장치 제어기(마우스와 연결된 USB 컨트롤러 같은 것)는 특정 유형 장치를 담당한다. 그리고 각 제어기는 지역버퍼를 가진다
    • 입출력은 장치 → 지역버퍼로 데이터를 이동하는 것
  • CPU: 메인메모리 ↔ 지역버퍼메모리 데이터를 이동한다
  • 장치제어기는 인터럽트를 발생시켜 연산 종료를 알린다

시스템 구조

다중처리 구조

스크린샷 2024-04-04 오후 4.10.20.png
  • 하나의 컴퓨터 안에서 CPU 여러 개(다중코어)로 병렬적으로 처리하는 것

형태

  • 비대칭 다중처리: 각 처리기가 각각의 임무를 수행
  • 대칭 다중처리: 각 처리기가 공통된 임무를 수행

클러스터 시스템

스크린샷 2024-04-04 오후 4.10.39.png
  • 여러 개의 시스템이 같이 작업을 하는 시스템
  • SAN을 통해서 저장 장치를 공유
  • 고성능, 고가용성 환경을 제공
  • 분산 락 관리자를 제공하여 상충하는 연산을 피하는 경우도 있다

형태

  • 비대칭 클러스터링: 하나가 긴급 대기 모드 상태
  • 대칭 클러스터링: 여러 노드가 같이 응용프로그램을 실행하고 서로를 모니터링

컴퓨팅 환경

전통적

  • 독립형 범용 기계
  • 무선네트워크로 상호 연결됨
  • 방화벽 사용하여 보호

모바일

  • 더 많은 OS 기능 (GPS, 자이로스코프)
  • 연결 위해서 IEEE 802.11 무선 or 셀룰러 데이터 네트워크 사용

분산

  • 네트워크로 연결된 시스템 간의 기능을 제공함
  • TCP/IP 주로 이용
  • 네트워크 유형
    • LAN: 근거리 통신망
    • WAN: 광역 네트워크
    • MAN: 대도시 지역 네트워크
    • PAN: 개인영역 네트워크

클라이언트 - 서버

P2P (Peer to Peer)

  • 분산 시스템의 또 다른 모델
  • 클라이언트 서버 구분 X
  • 각 노드는 peer로 불림
  • 각 노드는 P2P 네트워크에 참가해야 함
  • Voice over IP가 예시

가상화

  • 하나의 컴퓨터 시스템에서 여러 운영체제를 동시에 실행하는 것
  • VMM을 이용하여 여러 가상환경을 관리한다스크린샷 2024-04-14 오후 4.55.35.png

클라우드 컴퓨팅

스크린샷 2024-04-14 오후 5.05.31.png

공개 여부

  • 공중 클라우드 (Public)
  • 사유 클라우드 (Private)
  • 하이브리드 클라우드 = 공중 + 사유 클라우드

특성별
Pasted image 20240414170245.png

  • SaaS (Software): 인터넷을 통해 사용할 수 있는 하나 이상의 응용프로그램
  • PaaS (Platform): 응용프로그램이 인터넷을 통해 사용할 수 있도록 준비된 소프트웨어 스택
  • IaaS (Infrastructure): 인터넷을 통해 사용할 수 있는 서버 또는 저장장치

실시간 내장형

  • 매우 다양한 형태, 제한된 목적
    • 일부는 OS를 가지고 일부는 안 가질 수 있다
  • 실시간 OS를 실행한다
    • 실시간 OS는 명확하게 정의된 고정 시간 제약을 가진다