본문 바로가기
운영체제

운영체제 chapter1 - 2-2

by PlusUltraCode 2024. 6. 22.

1. 시스템 호출 (System Call)

  • 시스템 호출: 사용자 프로그램이 운영체제(OS)에게 I/O 작업을 요청하는 것.
  • WRITE 함수 호출: 사용자가 호출하는 명령문이 아닌 함수 호출이다.
    • 예: print, scanf는 명령문이 아닌 함수 호출문이다.
  • 4번 코드는 사용자 프로그램의 일부가 아닌 운영체제의 일부이다.
    • 입출력 작업은 OS가 수행한다.
  • 4번 코드는 인터럽트가 아니며, 단순히 시스템 호출을 수행한다.

2. I/O 인터럽트 (Interrupt)

  • I/O 인터럽트: OS가 입출력을 기다리는 동안 다른 프로그램을 실행하고, 입출력이 완료되면 실행 중인 프로그램에 인터럽트를 걸어 작업을 중단시킨다.
    • 예: 프로그램 A → 프로그램 B로 전환, 프로그램 A의 입출력이 완료되면 프로그램 B에 인터럽트 발생.
  • **인터럽트 핸들러(Interrupt Handler)**가 5번 코드를 처리하며, 4번 코드는 시스템 호출일 뿐이다.

3. 메모리와 레지스터 변경 (Changes in Memory and Registers)

  • 인터럽트 처리 과정:
    • 왼쪽 그림: CPU 상태를 저장.
    • 오른쪽 그림: OS가 작업을 마치고 프로그램 상태를 복구.

4. 사용자 프로그램과 인터럽트 서비스 루틴

  • 사용자 프로그램: 현재 PC에 N + 1이 저장되어 있으며, User Program의 N 명령어를 실행 중.
  • 인터럽트 서비스 루틴: OS의 코드로, 인터럽트 핸들러가 처리.
  • 컨트롤 스택(Control Stack): 중단된 프로그램의 CPU 상태가 저장된 스택.
  • 스택 포인터(Stack Pointer): 스택의 최상위(top)를 가리킴.
  • 일반 레지스터(General Register): CPU 내부 레지스터 상태 저장.

5. 메모리 계층 구조 (Memory Hierarchy)

  • 하드 디스크(HDD): 모든 실행 파일 저장, 실행을 위해 메인 메모리로 로드.
  • 이동 경로: Disk → Main Memory → Cache → Register.
  • 메모리 제약:
    • 용량 및 속도 문제.
    • 휘발성: 전원 차단 시 데이터 소실.
  • 효율적인 프로그램 실행:
    • 페이지 단위: HDD → Main Memory.
    • 블록 단위: Main Memory → Cache.
    • 워드 단위: Cache → Register.

6. 캐시 메모리 (Cache Memory)

  • 캐시 메모리: CPU 속도에 맞춰 빠르게 데이터 접근, 메인 메모리 속도 증가.
  • 캐시 관리: 하드웨어에서 관리, OS는 관리하지 않음.
  • 속도 향상:
    • OS로 인한 지연 최소화.
    • 동일 데이터에 대한 빠른 접근.

7. I/O 기술 (I/O Techniques)

  • 프로그래밍된 I/O (Programmed I/O): OS가 I/O 작업을 수행하는 동안 CPU 대기.
  • 인터럽트 기반 I/O (Interrupt-Driven I/O): I/O 작업 완료 시 인터럽트 발생, OS가 처리.
  • 직접 메모리 접근(DMA): 대량 데이터 이동 시 효율적, CPU를 거치지 않고 메인 메모리와 I/O 모듈 간 직접 데이터 전송.

8. 대칭형 다중 처리(Symmetric Multiprocessing, SMP)

  • 멀티 프로세서 시스템: 여러 CPU가 하나의 시스템 메모리와 I/O 시스템을 공유.
  • SMP 아키텍처: 효율적 부하 분배 및 작업 스케줄링.
  • 메모리 병목 현상: 동시에 접근 시 대기 발생.

9. 멀티코어 컴퓨터 (Multicore Computer)

  • 멀티코어 시스템: 하나의 칩에 여러 CPU 코어 존재.
  • 캐시 단계: 두 단계 캐시 (개별)와 세 번째 단계 캐시 (공유).

결론

인터럽트와 메모리 관리, 그리고 I/O 기술에 대해 알아보았습니다. 시스템 호출, 인터럽트 처리, 메모리 계층 구조, 캐시 메모리의 역할을 이해함으로써, 현대 컴퓨터 시스템의 효율적인 운영 방식을 이해할 수 있습니다. 다양한 I/O 기술과 다중 프로세서 시스템을 통해 성능 향상을 도모하는 방법도 살펴보았습니다. 이로써 운영체제와 하드웨어의 상호작용을 더 잘 이해할 수 있게 되었습니다.

'운영체제' 카테고리의 다른 글

운영체제 Chapter3 3-2 Process  (0) 2024.06.25
운영체제 Chapter2 2-2  (0) 2024.06.23
운영체제 Chapter2 2-1  (0) 2024.06.23
운영체제 chapter1 - 2주차  (0) 2024.06.22
운영체제 Chapter 1 - 1주차  (0) 2024.06.22