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)

  1. 인출 (Fetch): 주기억장치(RAM)에서 명령어를 가져옴.
  2. 해석 (Decode): 명령어를 해석하여 실행할 준비.
  3. 실행 (Execute): ALU에서 연산을 수행.
  4. 쓰기 (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 알고리즘을 적용하여 페이지 교체 과정을 시뮬레이션하면 페이지 폴트 횟수를 계산할 수 있습니다.