운영체제 -> 컴퓨터 하드웨어(CPU, Memory, I/O장치)를 효율적으로 관리하는 소프트웨어
앞장까지 해서 CPU, Memory 관리까지 배움
이번 장부터는 I/O장치 관리에 대해서 배움
>가장 중요한 것 -> 하드디스크 File System
10장 사용자 입자에서 파일시스템을 배움
11장 파일시스템을 만드는 개발자의 입자에서 내부구조를 배움
파일시스템 -> 파일(데이터 저장하는 파일, 프로그램을 실행 시키는 실행파일)들을 효율적으로 관리하기 위해 사용되는 것
Windows -> NTFS라는 파일시스템 사용, FAT이전에 사용(USB, 하드디스크 포맷할 때 사용됨) -> 이런 것들은 11장에서 자세하게 다룸
Linux -> EXT라는 파일시스템 사용, USB는 FAT사용
>>윈도우에서 사용하는 USB를 리눅스에서 사용이 가능함(호환성이 있음)
파일은 metadata(속성같은 의미) or Attributes를 가짐 - 여러 가지 속성 값을 가짐
ex. 등록정보
파일시스템 관리 시스템 콜 함수들(유닉스 기반)
File Types
.jpg, .mpg, .mp3와 같은 확장자 형식이 존재한다.(파일 형식 - Extension)
유닉스에서는 존재하지 않음 -> but 따로 표기를 해주긴 함
File Access –> 파일처리라는 수업에서 배우게 됨.
따로 배울 것(이번 시간에는 pass)
Example of Index and Relative Files
종합정보 시스템에 학생정보가 저장되어 있다고 하고 각각의 정보가 1KB라고 가정을 하면 이러한 것을 검색을 할 때에는 키워드를 통해 검색을 함.
-> 한 사람을 검색을 한다면 각각의 1KB를 가지는 정보들을 각각 검색을 해야 함.(비효율적)
-> index파일의 키 값을 모아두고 그것에 대해서 검색을 하면 좀 더 효율적으로 검색이 됨.
여기까지 Directory의 그래프 관리 구조를 설명함.(하나가 여러 개를 가리킬 수 있음)
-> 컴퓨터 파일을 만들 때 바로가기를 만들면 상위경로를 가리킴 -> 그래프 구조도 Directory를 설정가능 함(리눅스에서는 링크)
>>그렇게 중요한 내용은 아님
Pathname Translation -> 예전에 경로를 써줄 때 사용함 요즘에는 프로그래밍 할 때 사용
File System Mounting
>윈도우 letters(C:\, D:\라는 정보를 넣어줌) - 파일 관리를 위해 사용
>유닉스에서는 사용되지 않음 – 전부 root에서 관리함 (이렇게 되었을 때 산처럼 디렉토리가 쌓이기 때문에 이름이 붙음)
File Sharing – 파일을 다른 사람과 공유를 하는 것
서버PC에 공유 폴더를 만들어 놓고 공유된 컴퓨터에서 공유를 가능하게 하는 것
NFS(Network File System)을 통해서 파일 공유를 함
Protection – 예전에는 PC를 한사람만이 사용하는 것이 아니었음 -> 따라서 보호가 필요함
접근 권한을 통한 접근을 할 수 있도록 함
Protection 2가지 방법
- Access control lists (ACLs) - 파일별로 접근권한(파일별 권한이 정해져 있음)을 관리해줌
- Capabilities – 사용자들 별마다 접근 권한을 관리해줌
>>어떤 방법으로 관리를 해야 효율적이고 편할까? -> 첫 번째 관리법은 파일이 너무 많아 관리가 어려움 -> 사용자로 관리가 되어야 관리해야할 개수가 줄어든다.
-> 조금 더 효율적으로 관리하기 위해 그룹을 3가지로 나뉨 – root(오너), group(오너가 지정한 그룹), guest(아무나)
read, write, execute
-> 3가지 기능에 대해서 접근 권한을 부여함
접근권한 예시(3가지 그룹으로 관리함)
- owner access
- group access
- public access
>>운영체제가 전체를 관리하는 측면으로 되어있지 않음 효율적으로 관리하기 위해서는 그룹화하는 것이 효율성이 높음.
'👨💻Computer Science > 운영체제[OS]' 카테고리의 다른 글
[운영체제] 12장 Secondary-Storage Architecture (0) | 2021.06.29 |
---|---|
[운영체제] 11장 Implementing File Systems (0) | 2021.06.29 |
[운영체제] 9장 Virtual Memory Management (0) | 2021.06.29 |
[운영체제] 8장 Memory Management Strategies (0) | 2021.06.29 |
[운영체제] 7장 Deadlocks (0) | 2021.06.29 |
댓글