ㅇ본 글은 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에 더 좋다.
'Computer Science > 운영체제' 카테고리의 다른 글
Operating System - Ch16. Security (0) | 2022.06.20 |
---|---|
Operating System - Ch14-15: File system (0) | 2022.06.19 |
Operating System - Ch12: I/O systems (0) | 2022.06.18 |
Operating System - Ch11. Mass storage structure (0) | 2022.06.18 |
Operating System - Ch10. Virtual memory (0) | 2022.06.16 |
댓글