컴영 2020. 5. 23. 20:37

UNIX(유닉스)

- 미국 벨(Bell) 연구소에서 개발된 운영체제로, 프로그램 대부분이 C언어로 수정되면서 이식성이 높아지고 동시 다중 사용자 및 다중작업의 실행을 지원할 수 있는 대화형 소프트웨어이다.

 주로 서버용 컴퓨터에서 사용되는 운영체제

ð  포털이나 대기업의 서버에 사용되며 보안성이 매우 뛰어남


     - 특징

1. 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제 à shell 이용

2. 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.

3. 다중 사용자(Multi-user), 다중 작업(Multi-Tasking)을 지원

4. 많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합

5. 트리구조의 파일 시스템을 가진다

   

     - UNIX 시스템의 구성 3가지


1. 커널(Kernel): 유닉스 시스템이 부팅될 때 가장 먼저 읽히는 운영체제 핵심 부분

 하드웨어와 관련된 작업을 수행하는 것으로 사용자들은 커널에 접근 불가능

     +) 시스템 호출(System call): 커널과 사용자 사이의 인터페이스 역할을 한다

(사용자가 커널의 기능을 사용할 수 있도록 하는 역할

à 보통 시스템 콜을 직접 사용하기 보다 해당 시스템 콜을 사용해서 만든 API를 사용

2. (Shell): 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램. 유닉스 터미널

3. 유틸리티 및 응용 프로그램: 유닉스는 많은 프로그래밍 언어를 지원하고, 파일작성, 파일출력, 파일 내용을 선택적으로 변경시키는 기능 등과 같은 여러 가지 유틸리티와 다른 컴퓨터와 통신을 가능하게 해주는 여러 가지 응용 프로그램으로 구성


     - UNIX File System

유닉스는 일반적인 파일들 뿐 아니라 터미널, 프린터, 디스크 등 모든 주변 장치들도 하나의 파일로 취급 

è 장점: 프로그램을 작성하는 것 없이 옮기기, 쓰기, 읽기를 간단하게 할 수 있다.


1. 파일 종류 정규파일, 디렉토리 파일, 특수 파일, FIFO, Socket

 일반파일, 정규파일: 각종 텍스트파일, 시스템 파일, 이미지 파일 등 유닉스에서 사용되는 대부분의 파일

 디렉토리 파일: 다른 파일들의 목록과 그 파일들의 정보(주소)를 가리키는 포인터들을 가지는 파일 

   (우리가 아는 폴더)

 Block Special file: 버퍼를 이용해 블록단위로 데이터를 쓰고 읽는다. (디스크 파일)

 Character Special file: 버퍼를 쓰지 않고 데이터를 쓰거나 읽는 것이 즉시 일어난다. (키보드, 마우스 입출력)

 FIFO (named PIPE): 프로세스간 통신에 쓰이는 이름이 있는 파이프 파일

 Socket(소켓): 네트워크의 입출력을 담당하는 API로 두 호스트 컴퓨터 사이의 정보를 전달

 Symbolic link: 다른 파일을 가리키는 타입의 파일로 윈도우의 바로가기 파일과 비슷하다.


2. 파일의 속성 (‘ls -l’ 명령어를 통해 해당 디렉토리와 속한 파일 정보 알 수 있다.)

 파일 종류 : d(디렉토리) , b(블록 디바이스 파일), c{문자 디바이스 파일), -(일반 정규 파일)  등...

 Permission: 여러 유형의 유저들(user, group, others)이 파일에 접근할 수 있는 방법(read, write, execute)을 결정 

à chmod()를 통해 소유자가 변경 가능


User: 파일을 만든 소유자

Group: 파일을 만든 소유자가 속한 그룹의 사용자

Other: 기타 사용자

 링크 카운터(link counter): 동일한 inode를 참조하는 파일 수

 Owner: 해당 디렉토리 및 파일의 소유주 이름 à chown명령 사용해 변경 가능

 Group: 파일이 속한 그룹의 이름 à chgrp명령 이용해 변경 가능


inode 파일을 기술하는 디스크 상의 데이터 구조, 파일에 대한 중요한 정보를 갖고 있다.

  각각의 inode들은 i-번호라고 하는 고유한 식별 번호를 갖고 있다.(key역할)

   - inode 에 저장되어 있는 정보
* 파일의 소유권 (사용자,그룹)
* 파일의 액세스 모드
* 파일의 타임스탬프 (파일의 마지막 수정, 액세스)
* 파일의 종류