What I Learned/etc.

[CS] 운영체제와 컴퓨터

rilee 2025. 12. 23. 09:50
728x90

1. 운영체제의 역할과 구조

1) 운영체제의 역할

- 운영체제란 하드웨어 자원과 사용자 프로그램 사이의 중재 시스템

- 응용 프로그램이 CPU, 메모리, 디바이스를 직접 제어하지 못하도록 제한하고, 운영체제가 정해진 규칙에 따라 자원을 분배·관리하는 구조

  • 프로세스 관리
    다중 프로그램 실행 환경 제공, 프로세스 생성·종료·상태 관리, CPU 스케줄링
    • 여러 프로그램이 동시에 실행되는 것처럼 보이도록 관리
    • 각 프로세스의 실행 상태를 추적하며 CPU 사용 순서 결정
    • 하나의 프로세스가 CPU를 독점하지 못하도록 제어
  • 메모리 관리
    프로세스별 독립 주소 공간 제공, 가상 메모리 기반 효율적 메모리 사용, 메모리 보호
    • 각 프로세스가 자신만의 메모리를 사용하는 것처럼 보이게 구성
    • 실제 물리 메모리는 운영체제가 매핑 관리
    • 잘못된 메모리 접근으로 인한 시스템 오류 방지
  • 파일 시스템 관리
    저장장치의 파일·디렉터리 구조 추상화
    • 디스크의 복잡한 물리 구조를 파일 단위로 단순화
    • 데이터 저장·조회·삭제를 일관된 방식으로 제공
  • 입출력 장치 관리
    하드웨어 장치에 대한 공통 제어 인터페이스 제공
    • 키보드, 디스크, 네트워크 장치를 동일한 방식으로 제어
    • 하드웨어 차이를 운영체제가 흡수
  • 보안 및 보호
    사용자 모드와 커널 모드 분리, 비정상 접근 차단
    • 시스템 핵심 영역 보호
    • 오류 또는 악성 코드로부터 전체 시스템 안정성 유지

 

2) 운영체제의 구조

- 운영체제 구조: 커널 중심 구조

- 운영체제 기능을 권한 수준에 따라 분리한 구조

  • 커널
    운영체제 핵심 영역, CPU·메모리·디바이스 직접 제어
    • 시스템 자원 관리 기능 집중
    • 높은 권한을 가지는 실행 영역
  • 유저 영역
    사용자 프로그램 실행 영역, 하드웨어 직접 접근 불가
    • 일반 애플리케이션 실행 공간
    • 커널 기능 직접 호출 불가

(1) 시스템 콜

사용자 프로그램이 운영체제의 서비스를 받기위해 커널 기능을 요청(커널 함수 호출)하는 공식 인터페이스

  • 사용자 모드에서 호출
  • 커널 모드 전환 발생
  • 커널 내부 자원 접근 경로

주요 목적: 보안성과 안정성 확보


2. 컴퓨터의 요소

2-1. CPU

명령어 해석 및 실행 담당 중앙 처리 장치
운영체제와 가장 밀접하게 동작하는 하드웨어 구성 요소

(1) 제어장치

명령어 실행 흐름 제어 담당

  • 명령어 인출
  • 명령어 해석
  • 제어 신호 생성 및 전달

(2) 레지스터

CPU 내부 초고속 저장 공간 

  • 연산 데이터 임시 저장
  • 주소 및 상태 정보 저장
  • CPU가 자체적으로 데이터를 저장할 방법이 없기 때문에 레지스터를 거쳐서 데이터를 전달함

(3) 산술논리연산장치

산술·논리 연산 수행 장치

CPU 연산 처리 흐름:

  1. 명령어 인출
  2. 명령어 해석
  3. 데이터 로드
  4. 연산 수행
  5. 결과 저장

(4) 인터럽트

CPU 실행 흐름을 중단하고 이벤트 처리를 유도하는 메커니즘

하드웨어 인터럽트

  • 외부 장치 발생 신호
  • 예: 키보드 입력, 디스크 I/O 완료, 네트워크 수신
  • 지속적 확인(폴링) 방식의 비효율 해소가 목적

소프트웨어 인터럽트

  • 프로그램의 오류 등으로 프로세스가 시스템 콜을 호출할 때 발생하는 인터럽트
  • 예: 시스템 콜
  • 운영체제 서비스 요청이 목적

 

2-2. DMA 컨트롤러

CPU 개입 없는 메모리–디바이스 간 데이터 전송 장치

  • 대용량 I/O 처리 시 CPU 부하 감소
  • 시스템 전체 성능 향상

동작 개요:

  • CPU 전송 요청
  • DMA 직접 메모리 접근
  • 전송 완료 후 인터럽트 발생

 

2-3. 메모리

프로그램 및 데이터 저장 공간

 

  • 실행 중인 프로그램의 코드와 데이터 저장
  • CPU가 직접 접근 가능한 작업 공간

 

운영체제 관점 핵심 요소:

  • 가상 메모리
  • 주소 공간 분리
  • 메모리 보호

 

2-4. 타이머

주기적 인터럽트 발생 장치

  • 일정 시간 간격으로 CPU에 인터럽트 전달
  • 실행 중인 프로세스 제어 수단
  • 선점형 스케줄링 기반
  • CPU 독점 방지 수단

 

 

2-5. 디바이스 컨트롤러

하드웨어 장치 제어 전용 장치

  • 디바이스별 제어 로직 포함
  • 운영체제는 직접 장치 제어 불필요
  • 디바이스 드라이버를 통한 운영체제 제어
  • 하드웨어 세부 사항 추상화 계층
728x90

'What I Learned > etc.' 카테고리의 다른 글

[CS] CPU 스케줄링 알고리즘  (0) 2025.12.24
[CS] 메모리 관리  (0) 2025.12.23
[CS] IP주소  (0) 2025.12.18
PDF 파일에 있는 메타데이터 없애기  (0) 2025.08.20
[git] 내 레포에 다른 레포 코드 클론하기  (0) 2025.07.15