일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- AI프로그래밍
- DeepLearning
- pc
- 컴퓨터수업
- 컴퓨터운영체제
- IOT
- Dit
- Python
- DLI워크숍
- 컴퓨터네트워크
- 컴퓨터
- Developer
- Ai
- Network
- Stem
- front-end
- DEEP LEARNING INSTITUTE
- 대학수업
- 딥러닝
- 네트워크
- it
- ICT이노베이션스퀘어 인공지능 교육
- Back-End
- NVIDIADLI워크숍
- ICT
- DEEPLEARNINGINSTITUTE
- NVIDIA DLI워크숍
- 파이썬
- 운영체제
- nvidia
- Today
- Total
Coding Story
[2022-2] 운영체제 - 221124 본문
① 파일 시스템
1) 운영체제가 사용자에게 제공하는 가장 직접적인 서비스 형태
2) 두 부분으로 구성
(1) 파일 : 각종 정보의 논리적 저장단위를 파일로 추상화 → 실제 기억장치에 연결
프로그램과 데이터 저장
상호 관련있는 레코드들의 집합
(2) 디렉터리 : 파일에 관한 정보를 제공
3) 파일
논리적 구조 : 레코드 → 필드 (레코드 키)_primary key / 필드 / ....
물리적 구조 : 블록 → 기억매체에 입출력되는 단위 / 물리적 레코드 (physical record)
4) 파일 시스템의 기능
- 사용자가 생성, 수정, 삭제 가능
- 파일 공유 및 제어 관리 기능
- 백업 (backup) 및 복구 (recovery) 기능
- 사용자-장치 간의 독립성 유지
→ 물리적 장치명 대신 논리적 이름 사용
- 안전 보호 및 비밀 보장 기능
→ 암호화 및 복호화 기능
- 친절하고 사용하기 쉬운 I/F (인터페이스)
5) 파일 구조
(1) 순차 파일 (sequential file)
- 논리적 순서에 따라 물리적 순서도 같이 차례대로 저장
- 순차적 접근 특성의 매체에 적합
→ 디스크, 자기 테이프, 프린터 등
- 일괄 처리에 주로 사용
(2) 색인된 순차 파일 (indexed sequential file)
- 색인 정보 관리, 순차 및 직접 접근 결합 형태
- 일괄 처리, 대화처리 모두 가능
- 주로 디스크 활용
(3) 직접 파일 (direct file)
- 임의의 레코드에 직접 접근 가능
- 특정 레코드의 저장된 위치를 신속하게 찾을 수(또는 계산) 있는 방법
- 주로 디스크 활용
6) 파일 공간 할당 및 회수
- 다중 프로그래밍 시스템에서의 주기억장치 할당 문제와 비슷
→ 할당 및 회수의 반복에 따라 단편화 발생
→ 단편화 문제 해결 방법 → 합병, 집약
- 비트 벡터 (bit vector)
→ 기록 매체 블록의 할당 사용 여부를 블록당 1비트로 관리
→ 0 : 사용 중 / 1 : 빈 블록 (사용 / 할당 가능)
- 연속 할당 (contiguous allocation)
→ 물리적으로 연속된 공간에 논리적 블록들을 기록하는 것
→ 분산 저장된 경우에 비해 빠른 접근 가능
→ 단편화가 발생할 경우 파일 저장 공간을 할당 받지 못하는 경우도 발생
→ 파일 크기의 변화가 지속적으로 발생 시 대응이 어려움
→ [ 그림 5-9 ] 연속 할당 참고
- 불연속 할당 (연결 리스트)
→ 시간이 지남에 따라 파일이 커지거나 작아져도 충분히 대응 가능
→ 파일이 저장되는 블록들은 포인터로 서로 연결하여 분산 저장
→ 파일 접근에 시간이 많이 걸림
→ [ 그림 5-10 ] 연결 리스트를 이용한 불연속 할당 참고
- 불연속 할당 (색인블록)
→ 파일의 블럭들은 흩어져 저장되며, 각 블록의 포인터(색인)을 모아서 저장한 색인 블록
→ [ 그림 5-11 ] 색인블록을 이용한 불연속 할당
7) 파일의 보호
- 권한이 없는 사용자가 무단으로 팡리에 접근할 수 없도록 하는 것
- 물리적 손상으로부터의 보호도 포함됨
- 파일명 : 파일명을 알아야 파일에 접근할 수 있도록
- 암호
- 접근제어 : UNIX(linux) → rwx (read write execute) / ugo (user group others)
8) 디렉터리 구조
(1) 개요
- 초기의 파일 관리 → 장치 디렉터리(device directory) 또는 VTOC (Volume Table Of Contents)로 관리
→ 제한된 (작은 용량) 기억장소와 단일 사용자 시스템에 적합
→ 다중 사용자, 대용량 기억장치에는 적합하지 않고, 디렉터리 구조 필요
- 디렉터리 요구 사항 : 탐색, 파일 생성, 파일 삭제, 디렉터리 리스트, 백업
- 디렉터리 내의 각 파일에 대한 정보 : 파일명, 파일 타입, 위치, 크기, 보호, 사용 횟수, 시간, 날짜 등...
(2) 일단계 구조 디렉터리
- 가장 간단한 구조
- 모든 파일이 하나의 디렉터리에 위치
- 파일 수가 많아지면 관리에 어려움
- 서로 다른 파일명을 부여해야 하는 부담
- 사용자별 파일 구분 등
- [그림 5 - 12] 일단계 구조 디렉터리 참고
(3) 이단계 구조 디렉터리
- 사용자별 디렉터리가 완전히 서로 독립
→ 장점이자 단점
- 사용자별 서브 디렉터리 작성 불가
- [그림 5 - 13] 이단계 구조 디렉터리 참고
(4) 트리 구조 디렉터리
- 현재 디렉토리 (current directory) 개념
- 절대경로, 상대경로 개념
- 디렉토리 삭제시 고려할 내용
- 파일 공유는 허용되지 않음
- [그림 5 - 14] 트리 구조 디렉터리 참고
(5) 비순환 구조 디렉터리
- 서브 디렉토리, 파일 공유 허용하나 순환구조는 허용되지 않음
→ 팀원들이 공유하는 디렉터리를 각자의 서브 디렉터리로 표현 가능
- 공유 방법 두 가지
- 트리 구조에 비해 융통성은 좋으나 너무 복잡