[zb11] cs test 대비 포인트

괴발·2023년 2월 3일
0

zero-base

목록 보기
21/27
post-thumbnail

inode 방식의 파일 시스템
운영체제에서 사용하는 파일 시스템.
구조는 슈퍼블록 - 파일상세정보 - PCR인 아이노드블록 - 실제 데이터블록

inode로 부터 얻을 수 있는 메타데이터
아이노드가 위치한 장치, 아이노드 번호, 파일 종류 및 모드, 링크 수, 사용자 ID, 그룹 ID, 이 아이노드가 나타내는 장치, 파일크기, 선호I/O 블록크기, 파일에 할당된 블록 수, 최근 접근 타임스탬프, 파일 생성 타임스탬프, 최근 수정 타임스탬프, 최근 상태변경 타임스탬프

가상 파일 시스템(VFS, Virtual FileSystem)
애플리케이션과 파일시스템 사이의 가상층으로 애플리케이션이 다양한 파일시스템에 일관된 방식으로 접근할 수 있다. VFS가 없다면 여러개의 하드디스크에 각기 다른 파일시스템을 올렸을 때 파일에 접근할 때마다 하드디스크에 파일시스템에 맞는 고유함수를 매번 호출해야 하지만 VFS가 존재할 경우 사용자는 일관된 인터페이스를 통해 여러 경로의 파일에 접근할 수 있다.
네트워크등 다양한 기기도 동일한 파일 시스템 인터페이스를 통해 관리가 가능토록 하기 위해 고안된 시스템이다.

디렉터리 엔트리 Directory Entry
디렉터리 엔트리는 Windows의 FAT 파일시스템에서 파일의 이름, 확장자, 위치, 크기등을 표현하기 위한 구조체.
디렉토리 엔트리란 디렉토리를 표현하는데 쓰이는 자료구조를 의미한다.

리눅스 환경에서의 프로세스
프로세스는 실행중인 프로그램을 말한다. 프로그램이 실행되면 메모리에 로드된다.

Mutual exclusion 상호배제

Virtual File System

Copy On Write
리소스가 복제되었지만 수정되지 않은 경우에 새 리소스를 만들 필요 없이 복사본과 원본이 리소스를 공유하고, 복사본이 수정되었을 때만 새 리소스를 만드는 리소스 관리 기법. OS에서 fork()를 수행하면 자식 프로세스가 부모 프로세스의 복사본이 된다. 이때 대부분 fork() 후 exec()를 사용해 새 프로세스를 overwrite 하게 되는데 이는 overhead를 발생시켜 비효율적이다. 그래서 COW를 이용해 자식 프로세스가 같은 페이지를 공유하게 만든다.

프로세스 종료
exit() 함수를 사용하면 현재 프로세스를 즉시 종료할 수 있다. 종료 시 모든 자원은 운영체제로 반환된다. 보통은 부모 프로세스는 자식 프로세스가 종료되길 기다렸다 연달아 종료되지만, 여러 이유로 인해 자식 중 하나의 실행을 먼저 종료할 수도 있다. 자식프로세스가 끝나기 전까진 부모 프로세스가 끝나면 안되고,자식 프로세스가 끝나면, 자식 프로세스가 어떻게 종료했는지를 상태정보를 알아내서,그 상태정보에 맞게 뒷처리 작업을 해준뒤에 부모프로세스가 끝나든가 해야한다.

atexit()
atexit() 함수는 시스템이 정상 프로그램 종료 시 호출하는 함수(func가 가리킴)를 레코드합니다. 이식성을 위해 atexit() 함수를 사용하여 최대 32개의 함수를 등록해야 합니다. 함수는 후입 선출 순서로 처리됩니다. atexit() 함수는 OPM 디폴트 활성 그룹에서 호출할 수 없습니다. 대부분의 함수를 atexit 함수와 함께 사용할 수 있지만 exit 함수를 사용하는 경우에는 atexit 함수가 실패합니다.

Pthread
POSIX Thread의 별칭이며 thread 생성 및 관리를 위한 핵심 라이브러리이다.pthread_mutex_lock, pthread_mutex_unlock 함수들을 사용해 Mutex를 사용할 수 있다.Thread 동기화를 위한 API를 제공한다.

Pthread에 포함된 함수

profile
괴발개발

0개의 댓글