컴퓨터는 H/W, Kernel, User 로 크게 3가지로 구분지어 볼 수 있습니다.

운영체제는 소프트웨어로서 App이 잘 동작하도록 Support하며 H/W를 제어및 관리를 합니다.

  • 인터럽트 (Interrept) : 쉽게 말해, 집에서 일을 하고 있는데 초인종을 눌러 일을 중단하게 됨.
    • 내부 인터럽트와 외부 인터럽트로 나눌 수 있음.
  • 즉, CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요한 경우 CPU에 알려 처리할 수 있도록 하는 것.
  • 인터럽트 동작 순서
  • 1. 인터럽트 요청 2. 프로그램 실행 중단 : 현재 실행중이던 Micro option까지 수행함 3. 현재의 프로그램 상태 보존 : PCB, PC 등 4. 인터럽트 처리 루틴 실행 : 인터럽트를 요청한 장치를 식별함 5. 인터럽트 서비스 루틴 실행 : 인터럽트 원인을 파악하고 실질적인 작업을 수행함. 처리기 레지스터 상태 보존, 서비스 루틴 수행 중 우선순위 높은 것, 인터럽트 발생 재귀적으로 1~5과정 수행 6. 상태 복구 : 인터럽트 발생 시 저장해둔 PC를 다시 복구함 7. 중단된 프로그램 실행 재개 : PC의 값을 이용하여 이전에 수행 중이던 프로그램을 재개함.
  • DMA(Direct Memory Access)Hello.. 라는 Data 가 prinft()라는 함수 내에서 Write()를 함. 이때의 정보가 RAM으로 Hello가 전달됨여러 단계를 거치는 과정이 복잡하다보니 성능이 떨어짐(비효율적임).DMA Controller를 이용하면 하드디스크와 메모리를 직접 연결하여 CPU는 제어신호만 주고받을 뿐 데이터 전송에서 제외시킬 수 있다. 따라서 입출력 시 CPU는 제어를 위해 데이터 전송 시작과 완료에만 할당되어 CPU 자원의 낭비를 줄 일 수 있게됨.
  • 위의 방식의 단점을 개선한 것이 DMA방식입니다. 이름 그래도 입출력장치가 메모리에 직접 접근한다는 뜻임.
  • 이때 인터럽트가 발생됨. 이것을 주변기기로 옮기면서 또 인터럽트가 발생할수 있음. hello를 띄우는데
  • 예를 들어, “Hello World!”라는 Data를 화면에 띄우려고 한다.

'CS(Computer science) > 운영체제' 카테고리의 다른 글

CPU 스케줄링 (1)  (0) 2024.03.05

+ Recent posts