Dev_Henry

운영체제-반효경 내용정리 (2) 본문

CS/운영체제

운영체제-반효경 내용정리 (2)

데브헨리 2023. 7. 16. 00:13
728x90

컴퓨터 시스템 구조
컴퓨터 시스템 구조

  • 컴퓨터 시스템 구조
    • cpu - 클럭마다 메모리에서 읽어서 수행 반복 ( PC가 가르키는 메모리 주소 읽어서 수행.)
      • register: 저장공간
      • mode bit : 유저레벨(1), 커널레벨(0) 구분. 인터럽트 발생 시 커널모드로 전환하여 처리. 보안 목적으로 유저레벨에서 커널(os)의 기능(io)을 사용하기 위해서는 시스템콜(인터럽트의 일종) 필요
      • interrupt line: 인터럽트 받음
    • memory Controller : 메모리에 cpu와 dma 모두 접근 가능하기 때문에 충돌이 생기지 않도록 중재
    • DMA (Direct Memory Access) Controller: cpu가 인터럽트를 많이 당해서 일을 하기 힘듬. 인터럽트가 자주 발생하는 io장치의 일이 끝나면 dma가 직접 메모리에 올려주고 cpu에게 인터럽트를 블럭 단위로 한번만 보냄.
    • device contoller: io장치를 제어하기 위한 일종의 작은 cpu
    • timer: 할당된 시간이 지나면 타이머 인터럽트, 제어권 넘김(시분할에 사용, 현재 시간 계산에도 사용)
    • I/O 디바이스 컨트롤러 : io장치 관리하는 일종의 작은 cpu. 로컬 버퍼 가짐. → 디바이스와 로컬 버퍼 사이에서 io발생하고, 끝나면 디바이스 컨트롤러가 인터럽트로 알림.
    • 인터럽트 : 인터럽트 당한 시점의 레지스터와 프로그램 카운터를 저장한 후 cpu의 제어를 인터럽트 처리 루틴에 넘김 인터럽트 처리는 OS가 함. → 유저레벨의 프로그램이 cpu사용 중이어도, 인터럽트 발생하면 os가 cpu제어권 가짐, 인터럽트 처리. ex) IO관련
      • 하드웨어 인터럽트 (일반적인, 좁은의미의 인터럽트)
      • 소프트웨어 인터럽트(=트랩) : exception, 시스템 콜
        • 시스템 콜 : 사용자 프로그램이 커널 함수사용을 위해 운영체제를 호출하는 것 → 이를 위해 인터럽트 라인 우선 순위로 셋팅함
      • 인터럽트 벡터 : 인터럽트 처리 루틴(실제 처리 함수,핸들러)의 주소를 가짐

 

 

동기식/비동기식 입출력

 

  • 동기식 입출력과 비동기식 입출력 
    • 동기식 입출력 (sync)
      • IO작업이 완료된 후에 제어가 프로그램으로 넘어감
      • cpu낭비 가능 → 기다리는 동안 다른 프로그램에게 cpu제어를 넘겨주는 방식으로 구현 가능.
    • 비동기식 입출력 (async)
      • IO작업이 끝나기를 기다리지 않고 제어가 즉시 넘어감
      • ex) 일반적인 write작업의 경우 작성하는 동안 프로그램이 멈추는 것은 비효율적이기 때문에 비동기식 구현
    ※ 두 방식 모두 IO완료는 인터럽트로 알려줌.

 

 

저장장치 계층 구조

  • 저장장치 계층 구조
    • 위로 갈수록 빠르지만 비싸고 작음.
    • 위쪽(연두색)은 일반적으로 휘발성. cpu에서 직접 접근, 처리(byte단위 접근 가능)

 

 

프로그램 실행 ( 메모리 로드)

  • 프로그램의 실행 ( 메모리 load )
    • 프로그램을 실행한다는 것은 그 프로그램에게 메모리 주소 공간을 할당하여 불러오는 것.
    • 물리 메모리에 모두 올리는것은 메모리 낭비 → 가상메모리 사용 (각 프로그램마다 독자적으로 가지는 메모리 공간, ex) stack,data,code)
    • 실행하는 부분, 필요한 부분만 올리고 다른 부분은 Disk의 swap area에 내려둠.

 

 

커널 주소 공간의 내용

  • 커널 주소 공간의 내용
    • PCB : 각 프로그램이 가지는 가상메모리를 관리하기 위한 자료구조
  • 사용자 프로그램이 사용하는 함수
    • 사용자 정의 함수 → 프로그램 주소 공간에 위치
    • 라이브러리 함수 → 프로그램 주소 공간에 위치
    • 커널 함수(시스템 콜을 이용하여 호출) → 커널 주소 공간에 위치

 

 

프로그램 A관점에서 진행흐름

  • 프로그램 A관점에서 진행 흐름

 

728x90
반응형

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

운영체제-반효경 내용정리 (3)  (0) 2023.07.16
운영체제-반효경 내용정리 (1)  (0) 2023.07.16