본문 바로가기
👨‍💻Computer Science/운영체제[OS]

[운영체제] 10장 File System

by 코푸는 개발자 2021. 6. 29.
728x90

운영체제 -> 컴퓨터 하드웨어(CPU, Memory, I/O장치)를 효율적으로 관리하는 소프트웨어

앞장까지 해서 CPU, Memory 관리까지 배움

이번 장부터는 I/O장치 관리에 대해서 배움

>가장 중요한 것 -> 하드디스크 File System

 

10장 사용자 입자에서 파일시스템을 배움

11장 파일시스템을 만드는 개발자의 입자에서 내부구조를 배움

 

파일시스템 -> 파일(데이터 저장하는 파일, 프로그램을 실행 시키는 실행파일)들을 효율적으로 관리하기 위해 사용되는 것

Windows -> NTFS라는 파일시스템 사용, FAT이전에 사용(USB, 하드디스크 포맷할 때 사용됨) -> 이런 것들은 11장에서 자세하게 다룸

Linux -> EXT라는 파일시스템 사용, USBFAT사용

>>윈도우에서 사용하는 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

>>운영체제가 전체를 관리하는 측면으로 되어있지 않음 효율적으로 관리하기 위해서는 그룹화하는 것이 효율성이 높음.

 

728x90

댓글