본문 바로가기
Computer Science/운영체제

Operating System - Ch13: File system interface

by NCTP 2022. 6. 18.

ㅇ본 글은 Operating System Concepts 10판을 기준으로 작성되었습니다...!

 

 

 

이번 챕터에서는 File system interface에 대해 알아보자.

 

File: 관련된 정보들을 집합으로 모아둔 것 또는 secondary storage에 저장하고 사용자에게 보여지는 하나의 단위.

 - File system은 이 File들을 체계적으로 관리하기 위한 시스템이다.

 - Windows 는 NTFS라는 File system을 사용한다. 그 전에는 FAT이라는 시스템을 사용했다.

 - Linux / Unix 계열은 ext라는 시스템을 사용한다.

 - Apple은 AFS(Apple File System)라는 시스템을 사용한다.

 - USB는 VFAT(Virtual FAT)을 사용한다.

 - FAT과 NTFS의 차이: 안정성에서 차이가 난다. NTFS가 안정성이 더 좋다.

 

File Types

 - 파일 시스템이 알고 있는 파일: device, directory, symbolic link 등등

 - 운영체제의 특정 부분이나 런타임 라이브러리가 알고 있는 파일: executable, dll, source code, object code, text 등등

 - 사용자와 어플리케이션 프로그램이 알고 있는 파일: jpg, mpg, avi, mp3 등등

 

Encoding file types

 - Windows에서는 확장자명을 통해 encoding을 한다. (.exe, .jpg, .png ...)

 - 리눅스에서는 확장자명을 통해 encoding하지 않는다.

 

File Access

 - Sequential access: 파일을 처음부터 차례대로 접근하는 접근방식

 - Direct access: 원하는 곳을 드문드문 접근하는 접근방식. 어디를 접근할지에 대한 정보를 알아야 접근할텐데, 그 정보의 단위를 record라고 하고, record에 대한 indexing을 해서 접근한다. 

 

Directories

파일을 모아서 구성한 하나의 구조이다. 이 구조덕에 사용자가 편하게 파일을 관리하고 정리할 수 있다.

계층적인 구조를 가진다. (경로)

 

유닉스 계열 관점에서 directory는 특별한 파일이다. 여러가지 정보와 다른 파일들의 리스트를 가질 수 있기에 특별함.

 

File System Mounting

새로운 저장장치를 장착하면 윈도우즈는 C:\, D:\ ... 이렇게 들어나는데(letters), 유닉스에서는 루트파일 시스템 밑의 비어있는 폴더에 추가시킨다. 이를 Mounting 이라고 한다.

 

File Sharing - Remote File System

다른 컴퓨터 파일 시스템 영역을 나의 컴퓨터 영역에 있는 것처럼 접근하는 것을 말한다. 

유닉스에는 NFS, 윈도우즈에는 CIFS로 존재한다.

 

Protection

운영체제가 꼭 해주어야 할 중요한 개념. 윈도우즈는 혼자 쓰니까 별 상관 없지만 유닉스는 다수의 유저가 접근해서 사용할 수 있기 때문에 중요하다. 

 - ACLs (Access control lists): 특정 파일당 어떤 사용자가 어떤 동작을 할 수 있는지에 대한 권한을 설정하는 것.

 - Capabilities: 사용자당 파일 및 오브젝트에 대한 권한을 가질 수 있도록 하는 것.

사용자의 수보다 파일의 수가 많이 때문에 ACLs가 Protection에 더 좋다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글