IT이야기
컴퓨터 구조 및 운영체제 (CPU, 메모리 관리, 프로세스/스레드) - 응용정보기술자 1일차 이론 공부
Chiba-in
2025. 2. 13. 07:06
컴퓨터 구조 및 운영체제 (CPU, 메모리 관리, 프로세스/스레드)
응용정보기술자 시험에서는 컴퓨터 구조 및 운영체제(OS) 관련 개념이 오전(객관식)과 오후(주관식) 시험에서 모두 출제됩니다.
특히, CPU 구조, 메모리 관리, 프로세스/스레드 동작 원리 등은 필수적으로 이해해야 합니다.
1. 컴퓨터 구조 (Computer Architecture)
(1) 컴퓨터 시스템의 주요 구성 요소
구성 요소 | 설명 |
---|---|
CPU (중앙처리장치) | 명령어 실행 및 연산 수행 |
메모리 (RAM) | 프로그램과 데이터 저장 |
저장 장치 (HDD, SSD) | 비휘발성 데이터 저장 |
입출력 장치 (I/O) | 키보드, 마우스, 디스플레이, 네트워크 |
버스 (Bus) | 데이터 전송 경로 (주소 버스, 데이터 버스, 제어 버스) |
(2) CPU 구조 (Central Processing Unit)
CPU는 프로그램을 실행하고 연산을 수행하는 핵심 장치입니다.
① CPU의 주요 구성 요소
구성 요소 | 설명 |
---|---|
ALU (Arithmetic Logic Unit) | 산술 및 논리 연산 수행 |
CU (Control Unit) | 명령어 해석 및 실행 제어 |
레지스터 (Register) | CPU 내부에서 데이터 및 명령어 저장 |
캐시 메모리 (Cache) | CPU 연산 속도를 높이기 위한 고속 메모리 |
파이프라인 (Pipeline) | 명령어 실행 속도를 높이는 기술 |
② CPU 성능 향상 기술
기술 | 설명 |
---|---|
파이프라이닝 (Pipelining) | 명령어를 여러 단계로 나누어 병렬 실행 |
슈퍼스칼라 (Superscalar) | 여러 개의 명령어를 동시에 실행 |
멀티코어 (Multi-Core) | 하나의 칩에 여러 개의 CPU 코어 탑재 |
하이퍼스레딩 (Hyper-Threading) | 논리적 코어를 추가하여 병렬 실행 |
③ 명령어 실행 과정 (Instruction Cycle)
- 인출 (Fetch): 주기억장치(RAM)에서 명령어를 가져옴.
- 해석 (Decode): 명령어를 해석하여 실행할 준비.
- 실행 (Execute): ALU에서 연산을 수행.
- 쓰기 (Write Back): 결과를 레지스터나 메모리에 저장.
2. 메모리 관리 (Memory Management)
(1) 메모리 계층 구조
컴퓨터는 속도와 용량에 따라 계층적인 메모리 구조를 가집니다.
계층 | 속도 | 용량 | 예 |
---|---|---|---|
레지스터 | 매우 빠름 | 매우 작음 | CPU 내부 |
캐시(Cache) | 빠름 | 작음 | L1, L2, L3 캐시 |
RAM (주기억장치) | 보통 | 중간 | DDR4, DDR5 |
가상 메모리 | 느림 | 큼 | HDD, SSD의 일부 |
보조 기억장치 | 매우 느림 | 매우 큼 | HDD, SSD |
(2) 캐시 메모리(Cache Memory)
CPU 속도를 높이기 위해 자주 사용하는 데이터를 저장하는 메모리입니다.
캐시 계층 | 위치 | 특징 |
---|---|---|
L1 캐시 | CPU 내부 | 가장 빠르지만 용량이 적음 |
L2 캐시 | CPU 내부 또는 외부 | 속도와 용량의 균형 |
L3 캐시 | 여러 코어가 공유 | 속도는 느리지만 용량이 큼 |
(3) 가상 메모리 (Virtual Memory)
RAM이 부족할 경우, 하드디스크나 SSD의 일부를 가상 메모리(페이지 파일)로 사용하여 실행 중인 프로세스를 유지할 수 있습니다.
- 페이지 교체(Page Replacement) 알고리즘
- FIFO (First In, First Out): 가장 먼저 들어온 페이지를 교체.
- LRU (Least Recently Used): 가장 오래 사용되지 않은 페이지를 교체.
- OPT (Optimal Page Replacement): 앞으로 가장 사용되지 않을 페이지를 교체.
3. 프로세스 및 스레드 관리
(1) 프로세스 (Process)
프로세스는 실행 중인 프로그램을 의미합니다.
프로세스 상태 | 설명 |
---|---|
생성 (New) | 프로세스가 생성됨 |
준비 (Ready) | CPU를 기다리는 상태 |
실행 (Running) | CPU에서 실행 중 |
대기 (Waiting) | 입출력(I/O) 대기 상태 |
종료 (Terminated) | 실행 완료 또는 강제 종료 |
(2) 스레드 (Thread)
스레드는 프로세스 내에서 실행되는 작업 단위입니다.
유형 | 설명 |
---|---|
단일 스레드 | 하나의 프로세스에서 하나의 실행 흐름 |
멀티 스레드 | 하나의 프로세스에서 여러 실행 흐름을 가짐 |
(3) 프로세스 스케줄링 (CPU Scheduling)
운영체제는 CPU 자원을 여러 프로세스가 공유할 수 있도록 스케줄링을 수행합니다.
알고리즘 | 설명 |
---|---|
FIFO (선입선출) | 먼저 도착한 프로세스를 먼저 실행 |
SJF (Shortest Job First) | 실행 시간이 가장 짧은 프로세스 우선 실행 |
RR (Round Robin) | 프로세스에 타임 슬라이스를 부여하고 순환 실행 |
우선순위 스케줄링 | 프로세스의 우선순위에 따라 실행 |
4. 운영체제의 역할
운영체제(OS)는 하드웨어와 소프트웨어를 관리하는 핵심 시스템입니다.
(1) 운영체제의 기능
- 프로세스 관리: 멀티태스킹 지원, CPU 스케줄링
- 메모리 관리: 가상 메모리, 페이지 교체, 캐시 관리
- 파일 시스템 관리: 데이터 저장 및 접근 제어
- 보안 및 접근 제어: 사용자 인증, 권한 관리
5. 기출 문제 예제
오전 문제 예제
Q1. CPU에서 실행 중인 프로세스가 I/O 요청을 하면, 프로세스의 상태는 무엇이 되는가?
① New ② Ready ③ Running ④ Waiting
✅ 정답: ④ Waiting
오후 문제 예제
Q2. LRU(Least Recently Used) 페이지 교체 알고리즘을 적용할 때, 다음과 같은 페이지 참조 순서가 주어졌을 때 페이지 폴트가 몇 번 발생하는가?
- 페이지 참조: 1 3 0 3 5 6 3 0 1 2 3 6
- 페이지 프레임: 3개
✅ 풀이
LRU 알고리즘을 적용하여 페이지 교체 과정을 시뮬레이션하면 페이지 폴트 횟수를 계산할 수 있습니다.