[정보처리산업기사] 3강 UNIX, LINUX, MAC OS

DongHo Im·2022년 1월 17일
0

정보처리산업기사

목록 보기
3/86

1. 유닉스의 개요 및 특징

  • Unix는 1960년대 AT&T 벨연구소, MIT, GE가 공동 개발한 운영체제다.

  • 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제

  • 소스가 공개된 개방형 시스템 (Open System)

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

  • 크기가 작고 이해하기 쉽다.

  • 다중 사용자 (Multi User), 다중 작업 (Multi-Tasking)을 지원한다.

  • 많은 네트워킹 기능 제공 -> 통신망(Network) 관링용 운영체제로 적합

  • 트리 구조의 파일 시스템

  • 전문적인 프로그램 개발에 용이

  • 다양한 유틸리티 프로그램 존재


2. UNIX 시스템의 구성

커널

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

쉘(Shell)

  • 사용자가 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
  • 시스템과 사용자간의 인터페이스 담당
  • DOS의 COMMAND.COM과 같은 기능 수행
  • 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조기억장치에서 교체처리가 가능하다.
  • 파이프라인 기능을 지원하고 입출력 재지정ㅇ을 통해 출력과 입력의 방향을 변경할 수 있다.
  • 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell을 사용할 수 있다.

Utility Program

  • 일반 사용자가 작성한 응용 프로그램으르 처리하는데 사용한다.
  • DOS에서의 외부명령어에 해당된다.
  • 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있다.

UNIX에서의 프로세스간 통신

  • 각 프로세스는 시스템호출을 통해 커널의 기능을 사용하며, 프로세스간 통신은 시그널, 파이프, 소켓 등을 사용한다.
  • 시그널(Signal) : 간단한 메세지를 이용하여 통신하는 것으로, 초기 UNIX 시스템에서 사용됨
  • 파이프(Pipe) : 한 프로세스의 출력이 다른 프로세스의 입력으로 사용되는 단방향 통신 방식
  • 소켓(Socket) : 프로세스 사이의 대화를 가능하게하는 쌍방향 통신방식

3. UNIX 파일 시스템 구조

  • 유닉스 파일 시스템의 구조는 디스크를 블록으로 분류하여 배치한 구조를 의미한다.
  • 유닉스 파일 시스템의 구조는 부트 블록, 슈퍼 블록, i-node 블록, 데이터 블록으로 구성된다.
  1. 부트 블록
    • 부팅 시 필요한 코드를 저장하고 있는 블록
  2. 슈퍼 블록
    • 전체 파일 시스템에 대한 정보를 저장하고 있는 블록
  3. i-node 블록(index-node)
    • 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록
    • 정보: 파일 소유자의 사용자 번호(uid) 및 그룹번호(gid), 파일 크기, 파일 타입(일반, 디렉터리, 특수 파일 등), 생성 시기, 최종 변경 시기 최근 사용 시기, 파일의 보호 권한, 링크 수, 저장된 주소
  4. 데이터 블록(데이터 영역)
    • 디렉터리별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록
      • 디렉터리 엔트리(directory entry): 파일 이름과 i-node 번호로 구성되어 이들을 서로 연결해 주는 기능을 수행

파일 디스크립터(파일 서술자): 파일을 관리하기 위한 시스템(운영체제)이 필요로 하는 파일에 대한 정보를 가진 제어 블록을 의미하며, 파일 제어 블록이라고 합니다.


4. LINUX의 개요 및 특징

  • LINUX는 1991년 리누스 토발즈가 UNIX를 기반으로 개발한 운영체제다.
  • 프로그램 소스 코드가 무료로 공개되어있기때문에 프로그래머가 원하는 기능을 추가할 수 있고, 다양한 플랫폼에 설치하여 사용이 가능하며, 재배포가 가능하다.
  • UNIX와 완벽하게 호환된다.
  • 대부분의 특징이 UNIX와 동일하다.

5. MacOS의 개요 및 특징

  • MacOS는 1980년대 애플(Apple)사가 UNIX를 기반으로 개발한 운영체제다.
  • 아이맥과 맥북 등 애플사에서 생산하는 제품에만 사용이 가능하다.
  • 드라이버 설치 및 install과 uninstall 과정이 단순하다.
profile
[DATABASE] 비전공자 출신의 개발 도전!

0개의 댓글