본문으로 바로가기

2021.03.24 - [전체글] - 화일 처리및 응용 공부#7 (RAID)

 

화일 처리및 응용 공부#7 (RAID)

2021.03.14 - [이론공부/화일처리및응용] - 화일 처리 및 응용 공부#6 (디스크 저장장치 특성) 한반가 :: 화일 처리 및 응용 공부#6 (디스크 저장장치 특성) 보호되어 있는 글이기에 비밀번호가 요구됩

thesauro.tistory.com

이전 내용이다.

운영 체제(Operating System)

 - 다수 사용자를 위해 컴퓨터의 자원을 관리하는 S/W

 

 

운영 체제의 기능

  • 메인 메모리 관리
  • 프로세스 관리
  • 작업 스케줄
  • 파일 관리
    • 화일 조직 방법을 제공
    • 사용자의 I/O명령문(READ, WRITE)을 지정한 저급 I/O 명령어(GET/PUT)변환
  • 디바이스 관리
    • 물리적 저장장치에 대한 접근 제공
    • 사용자와 보조 저장 장치간의 I/O를 제어하여 인터페이스를 제공
    • 사용자의 논리적 관점에서의 I/O를 물리적 관점으로 사상하여 입출력 투명성을 제공 

파일 관리(File Management) 와 디바이스 관리(Device Management)를 각각

I/O Control System 또는 I/O Supervisor 이라 한다.

 

 

입출력(I/O) 제어 시스템의 기능

  • 화일 디렉터리(화일 식별, 위치정보)를 유지
  • 메인 메모리와 보조 저장장치 사이의 데이터 이동 통로를 확립
  • CPU와 보조 저장장치 사이의 통신을 조정
    • CPU와 보조 저장장치 사이의 속도 차이를 조정
    • 송신자와 수신자 사이의 데이터 전송을 제어
  • 입/출력으로 사용될 화일을 준비
  • 입/출력 완료 후에 화일 관리

화일 디렉터리

 화일 관리 시스템은 화일 디렉터리를 이용하여 시스템의 모든 화일을 관리

  - 화일의 이름, 저장위치, 화일크기, 화일타입 등의 정보를 화일 디렉터리에 저장 관리

 

화일 디렉터리의 구조

  - 심벌 테이블 유지

     모든 화일에 지정된 심벌 이름 탐색 지원

  - 한 레벨이나 여러 레벨의 계층 구조로 구성

  - ex) mydir/addr

화일 디렉터리 구조

 

입출력 장치 제어

 입출력 작업

  - 메인 메모리와 보조 저장장치, 입출력 장치 사이의 데이터를 물리적으로 전송 하는것

 

데이터 판독/기록 작업과정

  1. 디렉터리를 이용하여 원하는 파일 위치 탐색
  2. 메인 메모리와 입출력 장치 사이에 경로 설정
  3. 경로상의 요소들을 사용할 수 있는지 검사
  4. 입출력 장치에 I/O 연산 신호를 보냄

 

입출력 채널(I/O Channel)

채널 프로그램 (CPU에서 명령)을 실행함으로써 I/O 장치를 제어하는 I/O Processor

장치 제어기를 통해 I/O 장치를 간접적으로 운영

입출력 연산을 위한 시스템 요소

 

I/O 장치를 제어하는 I/O 프로세서(명령을 받으면 명령을 수행하는 처리기)

 

 

화일의 기록(Write)연산

  - 프로그램에서 write는 OS를 호출해서 작업을 수행함

  - 물리적 기록은 OS가 담당함

 

  - 화일 관리자

  • 화일에 관련된 작업과 입출력 장치를 취급하는 OS 프로그램
  • 프로그램 데이터 레코드를 디스크 화일에 전송해서 저장하는데 필요한 모든 프로시저로 구성
  • 화일의 디스크 할당 정보를 가지고 있는 화일 할당 테이블(FAT)을 이용하여 화일의 어디에 레코드를 기록할 것인가를 결정

  - I/O 버퍼

  • 화일 관리자는 메인 메모리에 디스크 블록 판독을 위해 시스템 I/O버퍼를 확보
  • 이 I/O버퍼는 레코드나 블록 크기로 판독/기록이 가능

  - I/O 채널

  • I/O 처리 전담 장치(I/O를 위한 작은 CPU)
  • 화일 관리자로 부터 채널 프로그램을 통해 작업지시를 받고 독립적으로 운영

  - 디스크 제어기

  • 디스크를 실제로 운영
  • I/O채널의 요청으로 디스크 드라이브 가용 여부를 점검
  • 디스크 드라이브를 배정하게 되면 데이터를 한 비트씩 디스크 드라이브에 전송

 

Write 단계 요약

  1. 프로그램의 Write : 운영체제에 기록 연산을 요청
  2. 운영체제 : 화일 관리자에게 지시
  3. 화일관리자 : 화일의 개방여부, 접근 허용 여부, 물리적 화일 검사
  4. 화일관리자 : 레코드에 대한 블록의 물리적 위치 탐색(할당테이블 FAT을 이용)
  5. 화일관리자 : 블록이 메인 메모리 I/O 버퍼에 존재 우뮤 확인, 레코드를 기록
  6. 화일 관리자 : I/O 채널에 블록 위치와 디스크 기록 위치를 지시
  7. I/O 채널 : 디스크 드라이브의 수신 가능 상태를 검사하고 데이터를 변환
  8. I/O 채널 : 데이터를 디스크 제어기에 전송
  9. 디스크 제어기 : 디스크 드라이브에 헤드를 적절한 트랙, 블록에 위치하도록 지시하고 한비트씩 전송

 

Read 단계 요약

 

Read 단계 요약

장치 제어기(Device Controller) 기능

 - 채널 명령어를 그 장치에 적합한 연산으로 번역해서 실행을 지시

 - I/O 채널이나 화일 관리자에게 상태 정보 제공

   (장치 준비여부, 데이터 전송 완료 등)

 - 호스트 컴퓨터와 장치 사이의 데이터 변환

   (I/O 장치 : 비트들을 직렬로 전송, 제어기 : 비트들의 바이트나 블록으로 조합후 병렬로 전송)

 - 데이터 전송시 패리티 비트를 통해 에러 감사와 복원

 

 

화일의 개방(OPEN)

프로그램의 OPEN 문이나 첫 번째 READ 혹은 WRITE 문과 연계 하여 수행

  1. 오퍼레이터에게 테이프 릴, 디스크 등의 준비 요구
  2. 필요한 채널 프로그램 골격 구성
  3. 레이블을 검사하여 화일이 입력을 위한것인지 출력을 위한것인지 확인
  4. 화일을 접근하는 사용자 권한 검사
  5. 화일을 위한 버퍼 구역을 구성
  6. 입력 화일에 대해 예상 버퍼링을 하는 경우라면 첫 번째 버퍼를 지움
  7. 화일 디렉터리에 화일 제어 정보를 기록

화일의 폐쇄(CLOSE)

CLOST 문이나 프로그램 종료 시 자동으로 수행, 나중에 다른 프로그램이 이 화일을 사용할 수 있도록 준비

 

  1. 출력을 위한 버퍼구역을 비움
  2. 할당된 버퍼와 채널 프로그램이 차지했던 메모리 구역을 반환
  3. 출력 화일에 화일 끝 표시 와 꼬리 레이블을 기록
  4. 저장 매체를 정리

 


 

느낀점 : I/O 채널에 관련 하여 정리해 보라고 말씀해주셨다 그외에 내용을 다시살필겸 알아보자