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
입출력 장치 제어
입출력 작업
- 메인 메모리와 보조 저장장치, 입출력 장치 사이의 데이터를 물리적으로 전송 하는것
데이터 판독/기록 작업과정
- 디렉터리를 이용하여 원하는 파일 위치 탐색
- 메인 메모리와 입출력 장치 사이에 경로 설정
- 경로상의 요소들을 사용할 수 있는지 검사
- 입출력 장치에 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 단계 요약
- 프로그램의 Write : 운영체제에 기록 연산을 요청
- 운영체제 : 화일 관리자에게 지시
- 화일관리자 : 화일의 개방여부, 접근 허용 여부, 물리적 화일 검사
- 화일관리자 : 레코드에 대한 블록의 물리적 위치 탐색(할당테이블 FAT을 이용)
- 화일관리자 : 블록이 메인 메모리 I/O 버퍼에 존재 우뮤 확인, 레코드를 기록
- 화일 관리자 : I/O 채널에 블록 위치와 디스크 기록 위치를 지시
- I/O 채널 : 디스크 드라이브의 수신 가능 상태를 검사하고 데이터를 변환
- I/O 채널 : 데이터를 디스크 제어기에 전송
- 디스크 제어기 : 디스크 드라이브에 헤드를 적절한 트랙, 블록에 위치하도록 지시하고 한비트씩 전송
Read 단계 요약
장치 제어기(Device Controller) 기능
- 채널 명령어를 그 장치에 적합한 연산으로 번역해서 실행을 지시
- I/O 채널이나 화일 관리자에게 상태 정보 제공
(장치 준비여부, 데이터 전송 완료 등)
- 호스트 컴퓨터와 장치 사이의 데이터 변환
(I/O 장치 : 비트들을 직렬로 전송, 제어기 : 비트들의 바이트나 블록으로 조합후 병렬로 전송)
- 데이터 전송시 패리티 비트를 통해 에러 감사와 복원
화일의 개방(OPEN)
프로그램의 OPEN 문이나 첫 번째 READ 혹은 WRITE 문과 연계 하여 수행
- 오퍼레이터에게 테이프 릴, 디스크 등의 준비 요구
- 필요한 채널 프로그램 골격 구성
- 레이블을 검사하여 화일이 입력을 위한것인지 출력을 위한것인지 확인
- 화일을 접근하는 사용자 권한 검사
- 화일을 위한 버퍼 구역을 구성
- 입력 화일에 대해 예상 버퍼링을 하는 경우라면 첫 번째 버퍼를 지움
- 화일 디렉터리에 화일 제어 정보를 기록
화일의 폐쇄(CLOSE)
CLOST 문이나 프로그램 종료 시 자동으로 수행, 나중에 다른 프로그램이 이 화일을 사용할 수 있도록 준비
- 출력을 위한 버퍼구역을 비움
- 할당된 버퍼와 채널 프로그램이 차지했던 메모리 구역을 반환
- 출력 화일에 화일 끝 표시 와 꼬리 레이블을 기록
- 저장 매체를 정리
느낀점 : I/O 채널에 관련 하여 정리해 보라고 말씀해주셨다 그외에 내용을 다시살필겸 알아보자
'이론공부 > 화일처리및응용' 카테고리의 다른 글
화일 처리 및 응용 공부#10 (순차화일) (0) | 2021.03.30 |
---|---|
화일 처리 및 응용 공부 #9 (버퍼) (0) | 2021.03.26 |
화일 처리및 응용 공부#7 (RAID) (0) | 2021.03.24 |
화일 처리 및 응용 공부#6 (디스크 저장장치 특성) (0) | 2021.03.14 |
화일 처리 및 응용 공부#5(하드 디스크 구조) (0) | 2021.03.13 |