DevGang

[OS-20] UNIX 본문

정보처리/OS

[OS-20] UNIX

별천랑 2021. 2. 7. 19:16

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