[운영체제] UNIX란?

[운영체제] UNIX란?

UNIX의 특징

UNIX는 주로 서버용 컴퓨터에서 사용되는 운영체제로 아래와 같은 특징이 있습니다.
  1. 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제
  2. 소스가 공개된 개방형 시스템
  3. 대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다
  4. 크기가 작고 이해하기가 쉽다
  5. 다중(multi) 사용자, 다중(multi) 작업을 지원한다
  6. 많은 네트워킹 기능을 제공하므로 통신망 관리용 운영체제로 적합하다
  7. 쉽게 유지보수 할 수 있는 계층적인 트리구조의 파일 시스템을 가지고 있다
  8. 전문적인 프로그램 개발에 용이하다
  9. 다양한 유틸리티 프로그램들이 존재한다


UNIX 시스템의 구성

커널(kernel)

  • UNIX의 가장 핵심적인 부분
  • 프로세스 관리, 기억장치 관리, 입출력 관리
  • 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주되면서 실행됩니다.
  • 하드웨어를 보호하고 프로그램과 하드웨어 간의 인터페이스 역할을 담당하며 프로세스(CPU 스케줄링)관리, 기억장치 관리, 파일 관리, 입출력 관리 등 여러가지 기능을 수행합니다.

쉘(Shell)

  • 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어해석기입니다.
  • 명령어 관리

유틸리티 프로그램(Utility Program)

  • 일반 사용자가 작성한 응용프로그램을 처리하는데 사용합니다.
  • Dos에서의 외부 명령어에 해당
  • ex) 에디터, 컴파일러, 인터프리터, 디버거 등이 있다


UNIX 파일 시스템

UNIX파일 시스템의 디렉터리 구조는 트리구조로 이루어져 있습니다.
  1. 디렉터리나 주변장치를 파일과 동일하게 취급합니다.
  2. 파일 소유자, 그룹 및 그 외 다른 사람들로부터 사용자를 구분하여 파일을 보호합니다.
  3. 파일생성 및 삭제 기능, 보호 기능을 가지고 있습니다.
  4. 파일 형식은 일반파일, 디렉터리파일, 특수파일 이렇게 3가지 형식을 제공합니다.

UNIX파일 시스템의 구조

UNIX파일 시스템의 구조는 디스크를 블록으로 분류하여 배치한 구조를 의미하는데 부트블록, 슈퍼블록, I-node블록, 데이터블록으로 구성됩니다.
  • 부트 블록
    • 부팅시 필요한 코드를 저장하고 있는 블록
  • 슈퍼 블록
    • 전체 파일 시스템에 대한 정보를 저장하고 있는 블록
    • 파일 시스템의 크기, I-node 테이블의 크기, Free Block 리스트 등을 기록 
  • I-node 블록
    • 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록
    • 저장된 정보 : 파일 소유자의 사용자 번호(UID), 그룹번호(GID), 파일 크기, 파일 타입, 생성시기, 최종변경시기, 최근사용시기, 파일의 보호 권한, 파일 링크 수, 데이터가 저장된 블록의 시작주소 등
      • 저장된 정보에 파일 이름은 없다.
  • 데이터 블록
    • 디렉터리 별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록




출처

댓글

이 블로그의 인기 게시물

[Python] # -*- coding: utf-8 -*-를 쓰는 이유

[소프트웨어공학] NS(Nassi-Schneiderman) 차트

[컴퓨터네트워크] Telnet이란?