DevGang
[OS-20] UNIX 본문
1. UNIX의 특징
- 시분할 시스템을 위해 설계된 대화식 운영체제
- 소스가 공개된 개방형 시스템
- 대부분 C언어로 작성되어 이식성과 확장성이 높음
- 멀티 유저, 멀티 태스킹을 지원
- 트리구조의 파일 시스템, 다중 작업 시스템, 다중 사용자 시스템
- 프로세스 간 통신을 위하여 주로 소켓을 사용
2. UNIX 시스템의 구성
- 커널(Kernel)
- UNIX 시스템의 가장 핵심적인 부분
- 항상 주기억장치에 상주
- 하드웨어와 프로그램 간의 인터페이스 역할을 담당
- 프로세스 관리, 기억장치 관리, 입출력 관리, 파일 관리, 프로세스 간의 통신 등을 수행
- 하드웨어를 보호하고 응용 프로그램들에게 서비스를 제공
- 쉘(Shell)
- 명령어 해석기로 사용자의 명령어를 인식하여 필요한 프로그램을 호출하고 그 명령을 수행
- 사용자와 시스템 간의 인터페이스를 담당
- Bourne shell, C shell 등을 사용
- 도스의 “command.com"과 같은 역할을 수행
3. UNIX 파일 시스템 - 특징
- UNIX 파일 시스템의 디렉터리 구조는 트리 구조
- 디렉터리나 주변장치를 파일로 간주하여 처리
- 파일 생성 및 삭제 기능, 보호 기능이 있음
- 운영체제의 핵심 부분인 커널에 의해 디렉터리가 관리
- UNIX 시스템 구조는 사용자-쉘-커널-하드웨어
- 파일 소유자, 그룹 및 그 외 다른 사람들로부터 사용자를 구분하여 파일을 보호
4. UNIX 파일 시스템 - 구조
- 부트 블록
- 부팅 시 필요한 코드를 저장하고 있는 블록
- 슈퍼 블록 : 전체 파일 시스템에 대한 정보를 저장하고 있는 블록
- 사용 가능한 i-node의 개수를 알 수 있음
- file 시스템마다 각각의 슈퍼 블록을 가지고 있음
- 사용 가능한 디스크 블록의 개수를 알 수 있음
- I-node 블록 : 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록
- 파일 소유자의 사용자 번호 및 그룹 번호
- 파일 크기
- 파일 타입
- 파일 생성 시기
- 파일 최종 변경 시기
- 파일 최근 사용 시기
- 파일의 보호 권한
- 파일 링크 수
- 데이터가 저장된 블록의 시작 주소
5. UNIX 파일 시스템 보호
- 사용자 구분
- Owner(파일 소유자), Group(그가 속한 그룹), Other(기타 사용자)
- 접근 허가 방식
- r(read, 읽기), w(write, 쓰기), x(execute, 실행), -(허가 금지)
- 사용 예(-rwxrwxr--)
- 첫 번째 기호는 파일인지 디렉터리인지 구분(d : 디렉터리, - : 파일)
- 파일 소유자에게 rwx 허용, Group에게 rwx 허용, Other에게 r 허용⇨ 파일이며 소유자와 그룹은 읽고, 쓰고 실행하는 것이 가능하지만 기타 사용자에게는 읽기만 가능
- 파일 보호 기법 중 접근 제어(Access control)에 해당
6. UNIX 명령어
- fork : 새로운 프로세스를 생성(프로세스 복제), 자식 프로세스를 생성할 때 사용
- exec : 새로운 프로세스를 수행
- chmod : 파일에 대한 액세스(읽기, 쓰기, 실행) 권한을 설정하여 파일의 사용 허가를 지정
- pipe : 프로세스 간 통신을 위한 경로를 설정하여 프로세스 간 정보교환이 가능하게 함
- 전송되는 데이터는 FIFO(First In First Out) 방식으로 상대에게 전달
- 프로세스 간의 생산자-소비자 모델의 데이터 전달을 위한 큐
- wait : 하위 프로세스 중의 하나가 종료될 때까지 상위 프로세스를 임시 중지시킴
- mount : 기존 파일 시스템에 새로운 파일 시스템을 서브 디렉터리에 연결할 때 사용
- ls : 현재 디렉터리의 파일 목록을 표시
- cp : 파일을 복사
- mv : 파일을 이동시키거나 이름을 변경
- rm : 파일을 삭제
- cat : 유닉스 시스템에서 파일의 내용을 화면에 출력할 때 사용
- getpid : 자신의 프로세스 아이디를 얻음
- getppid : 부모 프로세스 아이디를 얻음
- exit : 프로세스 수행을 종료
- ps : 현재 프로세스의 상태를 확인
- chown : 소유자 변경
※ 명령어를 백그라운드로 수행시킬 때 가장 큰 장점은 수행 중인 명령문이 끝나기 전에 다른 명령문을 입력할 수 있음(명령어 끝에 &을 입력함)
5. 개방형 시스템(Open System)의 특징
- 구조가 공개되어 있음
- 제품의 공급자가 많음
- 표준이 정해져 있음
- 라이선스 비용이 저렴함
'정보처리 > OS' 카테고리의 다른 글
[OS-21] 윈도우&MS-DOS (0) | 2021.02.07 |
---|---|
[OS-19] 분산 운영체제 (0) | 2021.02.07 |
[OS-18] 보안 (0) | 2021.02.07 |
[OS-17] 자원 보호 (0) | 2021.02.07 |
[OS-16] 디스크 공간 할당 방법 (0) | 2021.02.07 |
Comments