운영체제_입출력 관리와 디스크 스케줄링_UNIX SVR4의 입출력

미뇽·2024년 6월 8일
0

운영체제(강의)

목록 보기
35/43
post-thumbnail

UNIX SVR4의 입출력

UNIX에서는 각 개별 입출력 장치는 각각의 특수 파일과 관련됨

  • 장치에 대한 읽고 쓰기 -> 장치와 연결된 특수 파일에 읽기 및 쓰기 요청
  • 파일 서브 시스템 -> 보조기억장치의 파일들 관리 + 장치를 파일처럼 다루기 때문에 프로세스가 장치를 사용할 수 있는 인터페이스 역할
  • UNIX의 입출력
    - 버퍼 방식
    - 시스템 버퍼 캐시
    - 문자 큐
    - 버퍼를 사용하지 않는 입출력 방식
    - DMA 장치를 이용한 입출력 모듈과 프로세스 입출력 영역 간의 직접적인 데이터 전송

버퍼 캐시

  • 디스크 캐시로 디스크의 입출력 연산들을 버퍼 캐시를 통해 처리
  • 버퍼 캐시와 사용자 프로세스 공간 사이의 데이터 전송은 DMA 활용
  • 블록 교체에는 LRU 알고리즘 사용

버퍼 캐시를 관리하기 위한 리스트

  • 가용 리스트
    - 할당 가능한 모든 캐시 슬롯의 리스트
  • 장치 리스트
    - 현재 각 디스크와 연관되어 있는 모든 버퍼들의 리스트
  • 드라이버 입출력 큐
    - 특정 장치에서 입출력이 실행되기를 기다리거나 현재 입출력이 진행 중인 버퍼들의 리스트

작동 과정

특정 장치 상에 있는 물리적 번호가 참조되면 운영체제는 그 블록이 버퍼 캐시에 있는지 검사
-> 해시테이블로 구성된 장치 리스트에서 각각의 참조가 해시테이블의 특정한 항목으로 매핑됨
-> 각 버퍼와 존재하는 해시 포인터는 그 해시 테이블 항목을 위한 체인의 다음 버퍼를 가리킴

문자 큐

단말기나 프린터와 같은 문자형 장치 -> 다른 유형의 버퍼링이 적절
문자 큐는 입출력 장치가 쓰고 프로세스가 읽거나 프로세스가 쓰고 장치가 읽음
=> 문자 큐들은 오직 한 번만 읽혀질 수 있음

버퍼를 사용하지 않는 입출력

단순히 장치와 프로세스 공간 사이의 DMA를 의미
프로세스가 쓸 수 있는 가장 빠른 입출력 방법
버퍼를 사용하지 않는 입출력을 수행하는 프로세스는 주기억장치에 잠겨 스왑될 수 있음
=> 주기억장치 일부를 고착시켜 스와핑 기회를 줄임.

UNIX 장치

구분버퍼를 사용하지 않는 입출력버퍼 캐시문자 큐
디스크 장치
(블록형)
XX
테이프 장치
(블록형)
XX
단말기
(문자형)
X
통신 라인
(문자형)
X
프린터
(문자형)
XX
profile
문이과 통합형 인재(人災)

0개의 댓글