본문 바로가기

Computer engineering/OS

[UNIX] 유닉스란?

Unix란 컴퓨터 운영체제, 즉 프로그램을 실행시키고 자원을 관리하는 제어 프로그램

 Unix의 특징

1) 이식성(Portablility)

2) 다중 사용자 능력

3) 다중 작업 능력

4) 계층적인 파일 시스템

5) 장치 독립적인 입/출력 가능

6) 사용자 인터페이스: (shell)

7) 유틸리티

 

 


File I/O를 위한 System call


fopen() 함수의 원형

FILE * fopen( const char *, const char * );

 

첫번째 인자 : 처리할 파일 명

두번째 인자 : 파일 처리 종류 지정 (모드)

파일 처리 모드의 종류

r = 읽기 모드 / 파일이 없을 경우 에러 발생

w = 쓰기 모드 / 파일이 없을 경우 새로 만들고, 파일이 존재하면 내용을 삭제하고 처음부터 기록

a = 추가 쓰기 모드 / 파일이 없을 경우 새로 만들고, 파일이 존재하면 뒤에부터 이어서 기록

 

read() 시스템 콜은 다음과 같이 정의되어 있다.

 

ssize_t read (int fd, void *buf, size_t len);

 

“fd 가 바라보고 있는 파일에서 len길이 만큼을 buf에 읽어 들인다라고 해석했다.




먼저 맨 앞의 '-'는 파일 유형이다. 해당 파일이 어떤 종류의 파일인지를 알 수 있다. '-'는 일반 파일, 'd'는 디렉터리, 'b'는 블록 디바이스, 'c'는 문자 디바이스, 'l'은 링크를 뜻한다.

두번째로 오는 'rw-r--r--'는 파일 허가권을 뜻한다.

1.읽기 Reading 4

2.쓰기 Writing 2

3.실행 Executing - 1

세번째 '1' 은 링크의 수이다.

네번째 ‘sys46’는 해당 파일에 대한 소유권을 가진 소유 사용자의 이름이다.

다섯번째 ‘sys46’는 파일을 소유한 그룹의 이름이다.

여섯번째 '507'은 파일 크기이다. read.txt파일은

일곱번째 '327 01:22'는 파일의 최종 수정 일시이다.

마지막 여덟번째 'read.txt'는 해당 파일의 이름이다.



파일 권한 및 타입


*일반 파일-실행가능한 프로그램 파일, 원시 프로그램 파일, 문서파일 등 사용자가 정의한 그대로의 파일을 디스크 등에 내용이 수록

 

*디렉토리 파일-디렉토리에 포함되어 있는 여러가지 파일들과 디렉토리에 관한 정보 등을 저장하는 논리적 영역

 

*특수 파일-주변 장치 또는 파이프와 소켓 같은 프로세스간 상호통신, 표준입출력 시스템 호출

 

*inode-(Index node)-각 파일에 대한 정보를 기억하는 구조체

 

*chmod 명령어를 사용하여 파일 또는 디렉토리(폴더)에 권한을 부여, 수정할 수 있습니다. 만약 모든 권한 읽기, 쓰기, 실행을 부여한다면 아래와 같습니다.

 

sudo -s // root 권한 얻기

chmod -R 777 filename

 



'Computer engineering > OS' 카테고리의 다른 글

[시스템보안] 문제 및 해설  (0) 2018.11.19