컴퓨터 구조와 운영체제 기초

하윤·2025년 9월 6일

CS

목록 보기
1/10

컴퓨터 구조

현대 컴퓨터의 구성요소 = 폰 노이만 구조(Von Neumann architecture) - 중앙처리장치(CPU), 메모리, 입출력장치로 구분

CPU

명령(Instruction)을 처리하는 장치, 직접적인 계산 처리

  • 레지스터(Register)라고 불리는 몇 개의 작은 저장 장치를 가진다.
  • 레지스터는 CPU가 연산을 수행하기 위해 사용하는 임시 저장 장치.
  • CPU는 메모리의 특정 위치에 저장되어 있는 명령(Instruction)들을 순서대로 불러와 처리.
    • 두 레지스터에 저장된 값을 더해 다른 레지스터에 저장한다.
    • 한 레지스터가 메모리 상의 주소를 가리키고 있을 때, 이 주소에 저장된 값을 다른 레지스터로 불러온다.
    • 한 레지스터가 메모리 상의 주소를 가리키고 있을 때, 다른 레지스터에 저장된 값을 이 주소에 저장한다.
    • 한 레지스터에 적힌 값이 1이라면 다음 차례에 바로 다음 명령을 실행하지 말고, 명시된 다른 명령을 실행한다.
  • 명령들을 0과 1로 이루어진 신호(기계어)로 인식해 받아들인다.
  • 이 명령들의 모임 = ISA (Instruction Set Architecture)
  • 어셈블리(Assembly) = 기계어를 사람이 쉽게 읽을 수 있도록 일대일 대응시킨 프로그래밍 언어

메모리

CPU가 처리할 데이터를 저장하기 위한 장치.

명령 또한 데이터이기 때문에 단순 데이터 + CPU가 처리해야 할 명령 저장

  • 메모리에는 주소(Address)가 있어, 각 주소마다 값을 저장
  • CPU가 요청한 주소의 값을 알려주거나, CPU가 알려준 주소에 새로운 값을 저장하는 역할 수행
  • 가상 메모리(Virtual Memory)의 개념을 도입해 메모리 문제를 해결
  • 가상 메모리는 운영체제의 가장 중요한 기능 중 하나
  • 메모리 계층 구조(Memory Hierarchy) = 성능이 다양한 저장 장치 중 성능이 낮을수록 더 큰 용량을 가지는 것.
  • 모든 정보는 CPU에서 처리되므로 CPU와 가까울수록 저장 장치의 성능이 좋아지도록 설계
  • 보통 가장 작고 빠른 저장 장치는 CPU의 레지스터이고, 메모리는 이보다 더 크고 느림. 하드디스크 등 기타 저장장치는 더 용량이 크고 성능이 낮다.
  • 지역성(locality) = 이전에 읽어온 데이터를 다시 읽어올 가능성이 높고, 이미 읽어온 데이터와 근처에 있는 데이터를 읽어올 가능성이 높은 특성
  • 캐시 메모리(Cache Memory) = 지역성을 활용하여 CPU가 다음으로 읽어올 데이터를 미리 예측하고 빠르게 불러오기 위한 장치
  • 캐시 메모리는 메인 메모리보다 크기는 작지만 성능이 더 좋은 메모리. 그래서 CPU가 메인 메모리에서 데이터를 읽어오면, 그 주변 데이터가 캐시 메모리에 임시로 저장된다. → 어마어마한 성능 향상!

I/O (입출력 장치)

CPU와 메모리가 외부와 데이터를 주고받을 수 있도록 하는 장치

사람과 컴퓨터가 직접 상호작용할 수 있도록 해 주는 키보드, 마우스, 모니터, 스피커와 하드디스크, USB등 저장장치를 포함.

컴퓨터 동작 원리

  1. 프로그램 로드 : 운영체제가 프로그램 실행 파일을 메모리에 복사 → 프로그램 첫 줄부터 한 줄씩 코드 실행
  2. 데이터 로드 및 캐싱 : 메모리에서 연산에 필요한 데이터를 캐시로 복사
  3. 연산 및 저장 : CPU가 연산에 사용할 데이터를 레지스터로 복사 후 연산 수행, 연산 후 결과를 메모리에 저장하기도 함
  4. 프로그램 종료 때까지 2~3번 반복

운영체제 (Operating System)

  • CPU, 주기억 장치, 보조 기억 장치, 각종 입출력 장치 등이 정상적으로 작동하도록 감시하고 제어.
  • 응용 프로그램이 사용하는 CPU 시간, 기억 공간, 입출력 등 하드웨어 자원을 할당하고 배분하는 시스템 관리 기능

역할

  1. 자원 관리 - CPU, Memory, I/O장치 등 하드웨어 자원과 프로세스, 파일 메시지 등 소프트웨어 자원
  2. 자원 보호 - 프로그램이나 다른 사용자가 데이터를 삭제하거나 중요 파일에 접근하지 못하게 컴퓨터 자원 보호
  3. 인터페이스 제공 - 하드웨어 인터페이스와 사용자 인터페이스를 제공하여 편리한 사용 지원

Process

  • 실행 중인 프로그램으로 프로그램을 실행하는 작업 단위.
  • 작업의 최소 단위인 테스크(Task)를 완료하기 위해 자원(resource)이 필요함
    • CPU 점유
    • 메모리
    • 파일
    • 입출력 장치
  • 각 프로세스 간에는 자원이 독립적으로 할당

Thread

  • 프로세스 안에 또 다른 작은 프로세스를 의미
  • CPU가 프로세스를 실행시키기 위한 최소 작업 단위
  • 한 프로세스 안에 포함된 쓰레드들은 프로세스의 자원을 공유

Kernel

  • 운영체제의 핵심 부분으로 시스템의 모든 기본적인 작업 관리
  • 하드웨어와 소프트웨어 사이의 통신 담당
  • 메모리 관리, 프로세스 관리, 파일 시스템 관리, 장치 드라이버 관리 등 다양한 기능 수행
  • 시스템의 안정성과 보안을 유지하는 데 필수적인 역할
  • 사용자와 직접적인 상호작용을 하지 않고 백그라운드에서 실행

System Call(시스템 호출)

  • 운영체제의 커널이 제공하는 서비스에 대해 응용프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
  • 커널 모드를 통한 작업들은 반드시 시스템 콜을 통해 수행하도록 설계됨

  • 종류
    • 프로세스 컨트롤
    • 파일 매니지먼트
    • 디바이스 매니지먼트
    • 정보 관리
    • 커뮤니케이션
    • 보안
profile
코린씨

5개의 댓글

comment-user-thumbnail
2025년 9월 6일

사진 자료가 있으니 보기 좋네용 잘 봤습니다

답글 달기
comment-user-thumbnail
2025년 9월 7일

깔끔하게 정리 되어 있어서 잘 읽었어요!

답글 달기
comment-user-thumbnail
2025년 9월 7일

간단한 설명으로 이해하기 쉬웠어요!

답글 달기
comment-user-thumbnail
2025년 9월 7일

예시로 과정을 자세히 정리해주셔서 이해가 잘 되었어요

답글 달기
comment-user-thumbnail
2025년 9월 8일

그림이 있어 보기가 좋아요! 재미있게 읽었습니다!

답글 달기