OS-1)컴퓨터 시스템
| topics | 700-컴퓨터과학 704 운영체제 |
| types | 학습 이론 |
| tags | #os #computer-system #memory |
컴퓨터 시스템
운영체제 학습의 기초가 되는 컴퓨터 시스템 구조를 정리한다.
관련 문서
- OS-2) 운영체제 기본과 구조-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EA%B8%B0%EB%B3%B8%EA%B3%BC-%EA%B5%AC%EC%A1%B0.html) - 다음 장
- 폰노이만구조 - 시스템 버스 구조의 기반
주요 구성요소
- 하드웨어
- CPU & 장치제어기 + α(메인메모리 등)
- 각 장치제어기는 지역버퍼를 가진다
- 드라이브: 입출력 제어기와 커널 사이의 일관된 인터페이스 제공
- 운영체제
- 응용프로그램
- 사용자
==저장장치(메모리) 계층 구조==
주기억장치
레지스터
- CPU 내부, 휘발성
- CPU 계산 과정에서 사용되는 메모리

캐시
- CPU 내부, 휘발성, SRAM
- 보다 데이터를 빨리 얻기 위해 사용하는 임시저장소다
- 이미 데이터가 존재하는지 확인하고 지역성에 따라 데이터를 일시저장한다
- 캐시 일관성을 유지해야 한다
- 내부적으로 L1, L2, L3로 또 계층적으로 나뉜다 (L1, L2는 코어마다, L3은 코어 전체 공유)
메인 메모리
- CPU 외부, 휘발성, DRAM
- Random Access(임의 접근)
- 프로그램/프로세스가 실행되려면 해당 프로그램이 메모리에 적재되어야 한다
- CPU 외부에 있으면서 CPU가 직접 접근 가능한 유일한 장치
ROM
- 계층 구조에는 보통 포함 안됨
- CPU 외부, 비휘발성
- BIOS 같은 부트 프로그램이 저장되어 있다
보조기억장치
- HDD(하드디스크): 물리적으로 회전시켜 데이터 저장
- SSD: 전기적(반도체)으로 데이터 저장
작동 방식
대체적으로 폰노이만구조를 띈다 (하나의 시스템 버스에 연결됨)
구성요소들 간에 시스템 버스를 이용하여 데이터를 전송한다.
시스템 버스
- 주소버스, 제어버스, 데이터버스
DMA (Direct Memory Access)
- 메인 메모리 속도에 근접한 속도로 전송 가능
- 고속 입출력 장치에 사용
- 장치제어기는 데이터 블록을 장치버퍼에서 바로 메인메모리로 직접 전송 (CPU 개입 X)
- 바이트가 전송될 때마다 인터럽트 X, 블록의 전송이 끝날 때마다 하나의 인터럽트
버스 vs 커널
- 버스: 하드웨어들 간의 데이터 전송
- 커널: 소프트웨어 ↔ 하드웨어 인터페이스 역할
연산 과정
- CPU와 I/O 장치는 병행 실행된다
- 컴퓨터는 하나 이상의 CPU에 여러 가지 I/O 장치가 메모리에 연결되어 있다. 때문에 메모리 자원을 가지고 경쟁하게 된다
- 각 장치 제어기(마우스와 연결된 USB 컨트롤러 같은 것)는 특정 유형 장치를 담당한다. 그리고 각 제어기는 지역버퍼를 가진다
- 입출력은 장치 → 지역버퍼로 데이터를 이동하는 것
- CPU: 메인메모리 ↔ 지역버퍼메모리 데이터를 이동한다
- 장치제어기는 인터럽트를 발생시켜 연산 종료를 알린다
시스템 구조
다중처리 구조
- 하나의 컴퓨터 안에서 CPU 여러 개(다중코어)로 병렬적으로 처리하는 것
형태
- 비대칭 다중처리: 각 처리기가 각각의 임무를 수행
- 대칭 다중처리: 각 처리기가 공통된 임무를 수행
클러스터 시스템
- 여러 개의 시스템이 같이 작업을 하는 시스템
- SAN을 통해서 저장 장치를 공유
- 고성능, 고가용성 환경을 제공
- 분산 락 관리자를 제공하여 상충하는 연산을 피하는 경우도 있다
형태
- 비대칭 클러스터링: 하나가 긴급 대기 모드 상태
- 대칭 클러스터링: 여러 노드가 같이 응용프로그램을 실행하고 서로를 모니터링
컴퓨팅 환경
전통적
- 독립형 범용 기계
- 무선네트워크로 상호 연결됨
- 방화벽 사용하여 보호
모바일
- 더 많은 OS 기능 (GPS, 자이로스코프)
- 연결 위해서 IEEE 802.11 무선 or 셀룰러 데이터 네트워크 사용
분산
- 네트워크로 연결된 시스템 간의 기능을 제공함
- TCP/IP 주로 이용
- 네트워크 유형
- LAN: 근거리 통신망
- WAN: 광역 네트워크
- MAN: 대도시 지역 네트워크
- PAN: 개인영역 네트워크
클라이언트 - 서버
P2P (Peer to Peer)
- 분산 시스템의 또 다른 모델
- 클라이언트 서버 구분 X
- 각 노드는 peer로 불림
- 각 노드는 P2P 네트워크에 참가해야 함
- Voice over IP가 예시
가상화
- 하나의 컴퓨터 시스템에서 여러 운영체제를 동시에 실행하는 것
- VMM을 이용하여 여러 가상환경을 관리한다

클라우드 컴퓨팅
공개 여부
- 공중 클라우드 (Public)
- 사유 클라우드 (Private)
- 하이브리드 클라우드 = 공중 + 사유 클라우드
특성별
- SaaS (Software): 인터넷을 통해 사용할 수 있는 하나 이상의 응용프로그램
- PaaS (Platform): 응용프로그램이 인터넷을 통해 사용할 수 있도록 준비된 소프트웨어 스택
- IaaS (Infrastructure): 인터넷을 통해 사용할 수 있는 서버 또는 저장장치
실시간 내장형
- 매우 다양한 형태, 제한된 목적
- 일부는 OS를 가지고 일부는 안 가질 수 있다
- 실시간 OS를 실행한다
- 실시간 OS는 명확하게 정의된 고정 시간 제약을 가진다