컴퓨터는 우리가 매일 사용하는 도구지만 내부 구조와 작동 원리를 알면 더욱 효율적으로 활용할 수 있다.
1. 운영체제란? 컴퓨터의 두뇌 같은 시스템 소프트웨어
운영체제는 컴퓨터 하드웨어(CPU, 메모리, 입출력 장치 등)가 사용자 기대에 맞춰 작동하도록 돕는 시스템 소프트웨어다.
운영체제를 플랫폼 소프트웨어라고도 부르며 사용 기기와 목적에 따라 다양한 유형이 존재한다.
2. 컴퓨터 하드웨어 구조
컴퓨터는 다음과 같은 주요 하드웨어 요소로 구성된다:
CPU (중앙처리장치)
컴퓨터의 연산과 제어를 담당하는 두뇌 역할
- ALU: 산술 및 논리 연산 수행
- CU: 명령어 해석 및 실행 제어
- Register Set: 데이터를 임시로 저장하는 고속 메모리
메인 메모리
- 프로그램 실행 시 데이터를 저장하는 공간(RAM)
- 실행 중인 프로그램의 데이터를 저장하고 관리하며 CPU와 직접 연결되어 빠른 데이터 처리를 지원한다
버스 시스템
- 데이터 전송을 위한 통로로 데이터 버스, 컨트롤 버스, 어드레스 버스로 구분된다.
- CPU, 메모리, 입출력 장치 간 데이터를 주고받는 핵심 역할을 한다.
3. CPU 작동 원리
주요 구성 요소
- ALU: 산술 및 논리 연산 전담
- CU: 명령어 해석 및 ALU에 전달
- Register Set: 데이터 저장 및 명령어 처리 보조
주요 레지스터
- 프로그램 카운터(Program Counter): 실행할 다음 명령어 주소 저장
- 인스트럭션 레지스터(Instruction Register): 현재 실행 중인 명령어 저장
- 어드레스 레지스터(Address Register): 메모리 주소 저장
- 버퍼 레지스터(Buffer Register): 입출력 데이터 임시 저장
- 스택 포인터(Stack Pointer): 스택 구조 데이터의 꼭대기 주소 저장
클럭 펄스(Clock Pulse)
CPU와 컴퓨터의 동작을 동기화하기 위한 신호로 컴퓨터의 리듬 역할을 한다.
4. 폰 노이만 구조
폰 노이만 구조는 오늘날 대부분의 컴퓨터가 따르는 기본 설계다.
- 특징: CPU와 메모리를 버스 시스템으로 연결해 프로그램을 저장하고 실행
- 장점: 프로그램 변경 시 회로 수정 없이 메모리에 새로운 프로그램 저장 가능
5. 프로그램 실행 과정
컴파일 및 실행
- 프로그래밍 언어로 작성된 코드 → 어셈블리 코드 → 바이너리 코드(1과 0)
- 바이너리 코드는 실행 파일로 저장되고 실행 시 메모리에 올라가 CPU가 처리
- Fetch → Decode → Execution 단계로 명령어 처리
- Fetch: 명령어를 메모리에서 가져오기
- Decode: 명령어를 해석(CU 담당)
- Execution: 명령어 실행(ALU 담당)
6. 인터럽트와 처리 과정
인터럽트란?
- CPU가 작업 중 우선 처리해야 할 상황이 발생하면 기존 작업을 멈추고 새로운 작업을 처리하도록 신호를 보내는 과정
종류
- 동기 인터럽트(예외): CPU 내부 오류나 예외 상황에서 발생
- 비동기 인터럽트: 하드웨어 장치(마우스, 키보드 등)의 신호로 발생
인터럽트 핸들링
- 운영체제와 CPU가 협력해 인터럽트 서비스 루틴을 실행하여 처리
- 기존 작업은 멈추고 인터럽트를 처리한 뒤 다시 원래 작업으로 복귀
'컴퓨터 과학' 카테고리의 다른 글
Protocol이란? (0) | 2025.04.15 |
---|---|
파일과 디렉터리의 이해 (0) | 2025.04.15 |
메모리와 페이지 교체 이해하기 (0) | 2025.04.14 |
현대 컴퓨터 시스템의 자원 관리 및 데드락 해결 전략 (2) | 2025.04.07 |
프로세스와 관련된 개념 정리 (0) | 2025.04.07 |