1. 컴퓨터 성능 향상 기술
1) 컴퓨터 성능 향상 기술의 필요성
• 현대 컴퓨터 구조의 가장 큰 문제: CPU에 비해 메모리와 하드디스크의 속도가 현저히 느림
• 장치 간 속도 차이를 개선하고 시스템의 작업 속도를 올리기 위한 기술이 필요함
2) 버퍼(Buffer)
• 두 장치 사이에서 속도 차이를 완화하는 역할
• 일정량의 데이터를 모아 옮김으로써 속도 차이를 완화
• 입출력 장치에서 데이터를 읽을 때마다 하나씩 전송하면 효율이 낮음 → 일정량을 모아 한꺼번에 전송하여 성능 향상
3) 스풀(SPOOL)
• CPU와 입출력 장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼
• 예: 프린터 스풀러 → 인쇄할 내용을 순차적으로 출력하며 프로그램과 독립적으로 동작
• 다른 인쇄물이 끼어들 수 없어 프로그램 간 배타적임
4) 캐시(Cache)
• 메모리와 CPU 간 속도 차이를 완화하기 위해 데이터를 미리 저장하는 임시 장소
• CPU가 사용할 가능성이 높은 데이터를 미리 가져와 저장
• CPU는 메모리에 접근하기 전에 캐시를 먼저 검색함
캐시의 구조
• 캐시 히트(Cache Hit): 원하는 데이터를 캐시에서 찾았을 때
• 캐시 미스(Cache Miss): 캐시에 원하는 데이터가 없을 경우 메모리에서 검색
• 캐시 적중률(Cache Hit Ratio): 캐시 히트율 (일반적으로 약 90%) → 성능 향상을 위해 캐시 적중률을 높여야 함
캐시 적중률을 높이는 방법
• 캐시 크기를 늘리면 더 많은 데이터를 저장하여 적중률 향상
• 지역성(Locality) 이론: 현재 위치에 가까운 데이터가 자주 사용될 가능성이 높음
• 캐시의 데이터 변경을 메모리에 반영하는 방식: 즉시 쓰기와 지연 쓰기
즉시 쓰기(Write Through)와 지연 쓰기(Write Back)
• 즉시 쓰기: 캐시 데이터 변경 시 즉시 메모리에 반영 (데이터 안정성 높지만 성능 저하)
• 지연 쓰기: 변경 내용을 모아 주기적으로 반영 (성능 향상 가능하지만 데이터 불일치 가능성 있음)
L1 캐시와 L2 캐시
• L1 캐시: CPU 레지스터에 직접 연결되는 고속 캐시
• L2 캐시: 메모리와 연결되는 일반 캐시
5) 저장 장치의 계층 구조
• 빠른 성능을 위해 SSD 및 대용량 메모리를 사용하는 것이 이상적이나 비용 문제 발생
• 속도가 빠르고 비싼 저장 장치는 CPU 가까이에, 느리고 저렴한 저장 장치는 멀리 배치
• 이점: 빠른 속도와 큰 용량을 동시에 확보 가능
6) 인터럽트
폴링(Polling) 방식
• CPU가 직접 입출력 장치의 상태를 주기적으로 검사하여 데이터 처리
• CPU의 작업 효율 저하
인터럽트(Interrupt) 방식
• 입출력 관리자가 입출력을 수행하고 완료 신호를 CPU에 전달
• CPU와 저장 장치 간 독립적 운영이 가능하여 효율 향상
7) 직접 메모리 접근(DMA: Direct Memory Access)
• 입출력 관리자가 CPU의 허락 없이 메모리에 접근할 수 있는 권한
• CPU의 개입 없이 데이터 이동 가능
8) 메모리 맵 입출력(MMIO: Memory Mapped I/O)
• 메모리의 일정 공간을 입출력에 할당하는 기법
9) 사이클 훔치기(Cycle Stealing)
• CPU와 DMA가 동시에 메모리에 접근하면 CPU가 우선권을 양보하는 방식
2. 멀티 프로세싱
1) 멀티 코어 시스템
단일 프로세서 시스템
• CPU가 하나만 장착된 시스템
• 클록 속도를 높이거나 캐시 크기를 늘려 성능 향상 가능하지만 한계 존재
멀티 프로세서 시스템
• 여러 개의 프로세서를 사용하여 성능을 높이는 방식
• 각 프로세서가 독립적으로 작업 가능
멀티 코어 시스템
• 하나의 칩에 여러 개의 코어(Core)를 배치하여 병렬 처리를 가능하게 함
• 듀얼 코어(2개), 쿼드 코어(4개) 등으로 구성
2) CPU 멀티 스레드
명령어 병렬 처리
• 하나의 코어에서 여러 개의 명령어를 동시에 처리
CPU 멀티 스레드
• 여러 개의 스레드를 동시에 처리하는 기술
• 하나의 코어에서 명령어 병렬 처리를 수행하여 다중 코어처럼 동작
현대 CPU
• 멀티 코어 및 명령어 병렬 처리 기능을 함께 구현하여 성능 극대화
3) CPU 관련 법칙
무어의 법칙(Moore’s Law)
• CPU 성능이 24개월마다 2배 증가한다는 법칙
• 발열 문제로 인해 CPU 속도를 높이는 대신 멀티 코어와 멀티 스레드 기술 활용
암달의 법칙(Amdahl’s Law)
• CPU 성능이 증가해도 주변 장치의 성능이 따라오지 않으면 전체 성능 향상에 한계가 있음
• 병목 현상을 고려한 설계 필요
이 내용은 휴넷사회복지평생교육원의 운영체제 강의를 듣고 정리한 것입니다.
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 6. 프로세스의 연산과 스레드 (1) | 2025.02.20 |
---|---|
[운영체제] 5. 프로세스의 개념 (0) | 2025.02.20 |
[운영체제] 3. 컴퓨터의 구조 (0) | 2025.02.18 |
[운영체제] 2. 운영체제의 구성 (1) | 2025.02.17 |
[운영체제] 1. 운영체제의 개요 (0) | 2025.02.16 |