ASHD Dev_Blog

3.1 운영체제와 컴퓨터 [OS-study]

이재룡
이재룡Jul 2, 2025

[ 1. 운영체제 vs 펌웨어 vs 커널 ]

펌웨어

  • EX) BIOS
  • 하드웨어를 초기화 및 추상화 (정확한 register ID등의 하드웨어 세부사항을 몰라도 상위 계층에서 동작 하도록)
  • 커널을 불러올 준비
  • 운영체제와 달리 소프트웨어를 추가적으로 설치 불가
  • in ROM

커널

  • EX) Linux
  • 하드웨어 제어 및 리소스 관리
  • CPU‧메모리‧I/O 장치를 직접 컨트롤하는 최저층 “코드”
  • in RAM

운영체제 : 커널 + 시스템 콜 + 인터페이스

  1. 역할
    • CPU 스케쥴링
    • 메모리 관리
    • 디스크 관리
    • I/O 관리

  1. 구조
    • 시스템 콜 : 운영체제가 커널에 접근하기 위한 인터페이스 (커널의 함수 호출)
      • 하드웨어 복잡성을 “숫자 + 레지스터 몇 개”로 압축한 추상화 레이어
        ⇒ 프로그램은 “
        무엇을 할지”만 묻고, “어떻게” 는 커널이 알아서
      • 유저 모드(modebit : 1, Ring 3)와 커널 모드(modebit : 0, Ring 0)의 분기점 역할

  • 커널에서
    • 드라이버 = 하드웨어를 OS언어로 통역하는 모듈 (코드)

[ 2. 컴퓨터의 요소 ]

CPU(Central Processing Unit)

구조

  • 제어장치 (Control Unit) : 명령어 해석 및 데이터 처리 순서 결정
  • 레지스터 (Register) : 임시 기억 장치
  • ALU (Arithmetric Logic Unit) : 산술 논리 연산
👉
제어 장치에서 메모리 + 레지스터에 로드 + 계산 명령
ALU가 계산 + 결과를 레지스터에 저장
제어 장치에서 레지스터의 결과를 메모리로

심화 질문 1 : 제어 장치는 레지스터의 ALU의 연산 결과를 읽어 메모리에 저장하는 역할을 하는데, ALU의 연산결과가 나왔는지 어떻게 알고, 레지스터를 방문할까?

인터럽트 (어떤 신호의 입력으로 인한 CPU 일시 정지)

  • 하드웨어 인터럽트
  • 소프트웨어 인터럽트 = TRAP

DMA Controller

  • I/O와 메모리의 연결에 관여 (CPU가 해야할 일을 대신)

    ⇒ CPU 부하 줄여주는 보조 역할

Device Controller

  • I/O와 CPU의 연결에 관여
  • 명령 번역·데이터 전송·오류 처리”를 담당하는 하드웨어 모듈

심화 질문 2 : DMA 컨트롤러와 CPU는 동일한 I/O 인터럽트를 처리하지 않는다. 이는 드라이버에서 코드로 판단되어 분배 되는데,
⇒ 작고 드문 데이터와, 크고 반복적인 데이터는 각각 어디서 처리되는가?

Tags