CS/운영체제
운영체제의 구조: 커널, 인터페이스, 시스템 콜, 하드웨어, 메모리, 폴링, 인터럽트
나디아 Nadia
2025. 4. 23. 00:26
운영체제의 구조
운영체제는 사용자와 하드웨어 사이에서 중간다리 역할을 한다.
가장 핵심이 되는 건 커널이고, 사용자랑 커널 사이엔 인터페이스가 있다.
1. 커널 (Kernel)
: 프로세스, 메모리, 저장장치 등을 직접 관리하는 운영체제의 핵심 부분
- 특징
- 사용자나 일반 프로그램이 직접 접근할 수 없다.
- 시스템 전체 자원을 효율적으로 관리한다.
2. 인터페이스 (interface)
: 사용자가 커널과 소통할 수 있게 도와주는 창구
- 종류
- GUI (Graphic User Interface)
→ 그래픽으로 커널과 상호작용 (ex. 마우스, 창, 버튼 등) - CLI (Command-Line Interface)
→ 명령어를 입력해서 커널과 소통 (ex. 리눅스 터미널)
- GUI (Graphic User Interface)
3. 시스템 콜 (system call)
: 일반 프로그램(어플리케이션)이 커널 기능을 사용할 수 있도록 제공되는 인터페이스
- 필요한 이유
- 프로그램이 하드디스크 같은 자원에 직접 접근하면 위험
- 시스템 콜을 통해 접근하면, 커널이 안전하게 처리해줌
- 예시
- write() 같은 함수로 파일을 저장하면, 커널이 자동으로 안전한 공간에 저장
4. 드라이버 (Driver)
: 하드웨어와 커널이 통신할 수 있도록 도와주는 소프트웨어
- 역할
- 커널은 드라이버를 통해 하드웨어를 제어함
- 프린터, 마우스, 그래픽카드 등 전부 드라이버 필요함
컴퓨터 하드웨어와 구조
1. 폰 노이만 구조
: 현대 컴퓨터의 기본 구조
- CPU와 메모리를 버스로 연결 → 프로그램을 메모리에 올려놓고 CPU가 실행함
= “프로그램 내장 방식”이라고도 불림
2. 주요 하드웨어 구성
메인보드
- 모든 하드웨어가 연결되는 중심 판
- 데이터가 이동하는 통로인 “버스”도 포함됨
CPU (중앙처리장치)
- 컴퓨터의 두뇌 역할
- 아래 3가지 구성 요소가 있음
- 산술논리연산장치(ALU): 계산, 논리 연산 담당
- 제어장치: 모든 장치들한테 명령 내림
- 레지스터: 계산 중인 데이터를 잠깐 저장
3. 메모리 종류
RAM (Random Access Memory)
- 실행 중인 프로그램들이 올라가는 공간
- 전원이 꺼지면 내용이 사라짐
ROM (Read Only Memory)
- 수정 불가능 (읽기 전용)
- 전원이 꺼져도 데이터 유지
- 컴퓨터의 부팅 정보 저장 (바이오스)
4. 컴퓨터의 부팅 과정
- 전원 ON
- ROM에 저장된 바이오스 실행
- 하드웨어 이상 유무 확인
- 이상 없으면 → 하드디스크의 부트로더 실행
- 운영체제를 메모리로 불러옴
- 바탕화면 로딩 → 부팅 완료
- 이후 실행되는 프로그램도 전부 메모리에 올라가고 운영체제가 관리
인터럽트와 폴링
1. 폴링 (Polling)
: CPU가 계속 입출력 상태를 확인하는 방식
- CPU가 쓸데없이 바쁨 → 비효율적
2. 인터럽트 (Interrupt)
: 입출력 완료 시, 입출력 장치가 CPU에게 신호를 주는 방식
- 장점
- CPU는 다른 작업을 하다가 신호만 받으면 됨 → 효율적
- 성능도 더 좋음
- 인터럽트 종류
- 하드웨어 인터럽트: 키보드, 마우스, 프린터 등
- 소프트웨어 인터럽트: 잘못된 명령어 실행 시 발생 (ex. 0으로 나누기, 잘못된 메모리 접근 등)
- ISR (Interrupt Service Routine)
- 인터럽트가 발생했을 때, 어떤 작업을 처리할지 정해놓은 함수