본문 바로가기
CS 지식/운영체제 (OS)

[운영체제] OS의 듀얼모드와 작업(Operations)의 종류와 관리 기능 소개

by 코딩하는 동현 2025. 4. 13.

OS의 Operations

Interrupt-driven

운영체제는 비동기적인 이벤트를 감지하고 처리하기 위해 interrupt-driven 방식으로 동작한다.

  • 하드웨어 인터럽트: I/O 디바이스 작업 완료 시 발생
  • 소프트웨어 인터럽트 (trap, exception):
    • 오류: 0으로 나누기, 다른 프로세스의 메모리 접근 등 → 강제 종료
    • 시스템 콜 함수 호출: 앱이 직접 리소스를 접근하지 않고 OS를 통해 요청

Dual-mode Operation

운영체제는 모드를 전환하며 동작함으로써 자기 자신을 보호한다.

  • User mode: 사용자 프로세스를 실행하는 모드. 사용자가 접근 가능한 리소스에 한정된 작업 수행
  • Kernel mode: 시스템 콜이나 하드웨어 제어 등 privileged operation 수행

Mode bit

  • 0: user mode, 1: kernel mode와 같이 모드를 구분하는 비트 존재
  • privileged instruction은 kernel mode에서만 실행 가능
  • 시스템 콜이 실행되면 커널 모드로 전환됨

Multi-mode Operation

  • Virtual Machine Manager (VMM) 등의 환경에서는 Guest VM을 위한 추가적인 모드 필요

Transition from User to Kernel Mode

  • 시스템 콜 또는 타이머 인터럽트 발생 시 모드 전환

예시:

  1. 프로세스 시작 → 타이머 카운터 시작
  2. OS는 하드웨어 클럭에 의해 카운터를 감소시킴 (privileged 작업)
  3. 카운터가 0이 되면 interrupt 발생
  4. OS는 커널 권한을 획득함
  5. 해당 프로세스를 강제 종료하거나 작업을 전환할지 결정함

Process Management 활동

  • Program = passive entity (정적 코드)
  • Process = active entity (실행 중인 프로그램)

프로세스는 다음 리소스를 필요로 함:

  • CPU, memory, I/O, 파일, 초기화 데이터 등

프로세스 종료 시 리소스는 회수됨

  • 하나의 실행 흐름 = 하나의 Thread
  • 프로세스 생성 시 최소 하나의 스레드 할당됨
  • 각 스레드는 고유한 Program Counter를 갖고 실행 흐름을 유지함
  • 멀티스레드 프로세스는 여러 개의 Program Counter를 가짐

OS의 프로세스 관리 기능

  • 사용자 및 시스템 프로세스 생성/삭제
  • 프로세스 일시 중단 및 재개
  • 동기화 메커니즘 제공 (공유 자원 접근 시)
  • IPC (Inter-Process Communication) 메커니즘 제공
  • 데드락 감지 및 처리

Memory Management

프로그램 실행을 위해 instruction과 data를 메모리에 적재함. 응답 속도 및 자원 효율을 높이기 위해 다음 기능을 수행함:

  • 어떤 메모리 영역이 어떤 프로세스에 사용되는지 추적
  • 어떤 프로세스와 데이터가 메모리에 올라가고 내려갈지 결정 (Swapping, Virtual Memory)
  • 메모리 공간을 동적으로 할당하거나 해제

Storage Management

운영체제는 물리 저장장치를 논리적 단위(파일)로 추상화하여 관리함.

  • 파일/디렉토리 생성 및 삭제
  • 접근 제어 수행 (Access Control)
  • 파일을 Secondary Storage에 매핑
  • Backup 및 recovery 기능 제공

Mass-storage Management

대용량 데이터를 장기 저장할 수 있는 장치를 관리함.

  • 빈 공간 관리
  • 저장소 할당 및 해제
  • 디스크 접근 알고리즘 및 스케줄링 사용
  • Tertiary Storage: optical disk, magnetic tape 등 느리지만 안전한 저장소 (WORM, RW 등)

Disk → Register 데이터 이동 경로

HDD → Main Memory → Cache → CPU Register

멀티태스킹 환경에서는 각 계층의 데이터가 최신 상태인지 항상 확인해야 함

  • 멀티프로세서 환경: 여러 CPU가 동일 데이터를 사용할 경우 동기화 문제 발생 가능

I/O Subsystem

I/O 디바이스를 관리하는 OS의 영역이다.

I/O 디바이스는 OS가 직접 관리하며, 사용자에게는 추상화된 System Call 형태로 제공됨.

기능:

  • 메모리와 I/O 간 데이터 전송 관리
  • Buffering: 속도 차이를 해결하기 위해 데이터 임시 저장
  • Caching: 성능 향상 위한 임시 저장소
  • Spooling: output을 input으로 사용하는 장치 간 데이터 중첩 처리
  • General한 Device Driver Interface 제공
  • 하드웨어에 Specific한 Device Controller와 연동
    • 하드웨어 디바이스의 특수한 오퍼레이션을 숨겨준다.(네이티브한 특성을 숨긴다)
    • 유저 프로세스에게 하드웨어를 다룰수 있는 간단한 API를 system call로 제공한다
반응형

댓글