본문 바로가기

유닉스

(4)
2-2. 유닉스 파일 시스템콜 : open, creat, close, read, write, lseek , dup, fcntl open(2) 괄호 안에 (2)라고 있는 건 시스템콜을 의미함 1은 command, 2는 system call, 3은 library를 의미함 #include int open(const char *pathname, int flags, [mode_t mode]); Returns: file descriptor if OK, -1 on error open 시스템콜을 사용하기 위해서는 /usr/include/fcntl.h 헤더파일을 반드시 include 해야함 첫번째 인자로는 relative 또는 absolute pathname이 들어감 char*는 문자열임 세번째 인자는 옵션임 두번째 인자 flag는 read only, wrtie only, read write 이런 내용이 들어감 보통 바이너리 값으로 되어 있음 ..
2-1. 유닉스 파일, 파일시스템 유닉스는 파일에 대해서 파일의 기능을 심플하게 함 파일 파일은 데이터를 포함하는 컨테이너라고 정의함 파일은 연속된 바이트의 시퀀스라고 정의함 파일에는 어떤 포멧도 정해져있지 않음 (메인프레임의 경우 파일의 종류가 많았음 isam, random, vsam file, 등 파일의 종류에 따라 엑세스하는 API가 모두 다르고, 이를 OS가 다 정의해서 굉장히 무거웠음) 모든 바이트는 디스크 파일에서 바이트 하나하나 주소를 지정함, 다이렉트 랜덤 파일이 된다는 말임 파일에 관한 인터페이스를 다 uniform 하게 통일시킴 심지어는 외부의 디바이스 파일, 디스크 파일, 키보드, 유에스비, 마그네틱 테이프 등 모두 파일로 간주 모든 디바이스의 인터페이스를 다 통일함 파일 시스템 컴퓨터 파일과 데이터를 organzin..
1. 유닉스 기본 개념 유닉스 구조 1. 커널 하드웨어를 컨트롤하는 소프트웨어, OS의 핵 2. system calls 커널 기능을 사용하기 위한 외부 인터페이스 API 3. application 외부 애플리케이션이 쉘이나 라이브러리를 거침 라이브러리는 시스템콜을 통해 커널 기능을 사용 Logging in 유닉스는 multi user 로그인을 해야함 -> user id와 password를 치면 prompt(%)가 뜸 prompt는 shell이 작동한다는 것임 shell은 command interpreter로 명령을 받고 실행시킴 shell - 기본적으로 제공되는 shell은 AT&T가 만듦 - command interpreter - Bourn shell (/bin/sh) : $ - Korn shell (/bin/ksh) : $..
0. 유닉스 역사 유닉스 유닉스는 최초의 high level 커널이 과거에는 어셈블러로 써졌는데, 유닉스는 최초로 c로 작성 - 커널은 컴퓨터 하드웨어를 컨트롤 하는 소프트웨어. 쉘, 라이브러리, 유틸리티, 유저프로그램 등 모두 커널을 통해 하드웨어 실행 모든 파일이 루트 / 밑에 있음 하드웨어 디바이스 포함 모두 파일로 간주함 커널이 c로 작성돼서 하드웨어 이식성이 높음 대화형, 최초의 time sharing OS, multi processing 가능, 등의 특징을 가짐 1955 John McCarthy가 time sharing 개념을 최초로 고안 -> 구현 실패 CTSS를 만들고 1962년 MULTICS 만듦 1969-1971 MULTICS 프로젝트 하다가 실패 Ken Thompson이 게임 소프트웨어 space tr..