Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

운영체제 14주차 정리 - 2 본문

2-1/운영체제

운영체제 14주차 정리 - 2

김브래 2023. 6. 2. 20:14

파일 시스템  - 파일 처리 함수 2


작업 경로 추출


현재 작업 경로 추출

1. 함수 : getcwd(), getwd()
• 현재 작업중인 경로의 위치를 추출
• getwd의 경우 내부 정적 공간을 사용(re-entrance주의)


인자:
– *buf : 현재 경로 저장
– size : buf의 크기


결과 값:
– 성공 : 저장된 데이터의 위치(buf의 포인터)
– 실패 : NULL


2. 함수 : get_current_dir_name()
• 현재 작업중인 경로 추출(getcwd, getwd와 동일)
• 이 함수의 호출은 내부에서 동적 메모리 할당이 이루어짐(malloc() 함수 호출)
• 사용 후 반드시 메모리 환원을 해줘야 함(free() 함수 호출)


작업 경로 전환


현재 작업 경로 전환

1. 함수 : chdir()
• 현재 작업중인 경로를 이동


인자:
– *path : 이동하고자 할 경로


결과 값:
– 성공 : 0
– 실패 : -1


2. 함수 : fchdir()
• chdir() 함수와 동일한 기능을 수행


인자:
– fd : 파일 기술자


결과 : chdir() 함수와 동일


디렉토리 접근


디렉토리 열기

1. 함수 : opendir() & fopendir()
• 디렉토리 스트림 열기(접근)


인자:
– *name : 접근할 디렉토리 이름(또는 경로)
– fd : open()에 의해 접근된 디렉토리의 파일 기술자


결과 값:
– 성공 : 디렉토리 포인터
– 실패 : NULL


2. 함수 : closedir()
• 디렉토리 닫기


인자 :
– *dirp : 디렉토리 포인터


결과 값:
– 성공 : 0
– 실패 : -1

디렉토리 열기

1. 함수 : opendir() & fopendir()
• 디렉토리 스트림 열기(접근)


인자:
– *name : 접근할 디렉토리 이름(또는 경로)
– fd : open()에 의해 접근된 디렉토리의 파일 기술자


결과 값:
– 성공 : 디렉토리 포인터
– 실패 : NULL


2. 함수 : closedir()
• 디렉토리 닫기


인자 :
– *dirp : 디렉토리 포인터


결과 값:
– 성공 : 0
– 실패 : -1

디렉토리내 엔트리 추출

1. 함수 : readdir()
• 파일 리스트를 출력
• 현재 접근 오프셋(offset)에 해당하는 디렉토리의 엔트리(entry) 정보를 반환
• 현재 오프셋의 값의 추출은 telldir() 함수를 이용
• 오프셋 값의 변경은 seekdir() 함수를 이용


인자:
• *dirp : 읽을 디렉토리 포인터


결과 값:
• 성공 : 디렉토리 엔트리 정보
• 실패 : NULL


디렉토리 관리


디렉토리 생성

함수: mkdir()
• 지정한 이름의 디렉토리를 생성


인자:
– *pathname: 생성한 디렉토리명
– mode : 접근 권한


결과 값:
– 성공 : 0
– 실패 : -1

디렉토리 변경

함수: rename()
• 지정한 이름의 디렉토리를 새로운 이름으로 변경


인자:
– *oldpath : 디렉토리 원본
– *newpath : 새로운 이름


결과 값:
– 성공 : 0
– 실패 : -1

디렉토리 삭제

함수: rmdir()
• 지정한 이름의 디렉토리를 삭제


인자:
• *pathname: 삭제할 디렉터리명


결과 값:
• 성공 : 0
• 실패 : -1

'2-1 > 운영체제' 카테고리의 다른 글

운영체제 기말고사 힌트 정리  (2) 2023.06.05
운영체제 14주차 정리 - 1  (0) 2023.06.02
운영체제 13주차 정리 - 3  (0) 2023.05.27
운영체제 13주차 정리 - 2  (0) 2023.05.27
운영체제 13주차 정리 - 1  (0) 2023.05.26