자격증/정보처리기사

정보처리기사 4과목 프로그래밍 언어 활용 (UNIX)

ByeongJun 2023. 5. 8. 23:16
반응형

UNIX

  • 1960년대 개발된 컴퓨터 운영체제 (Linux는 1990년대 초에 만들어진 UNIX의 변종)
  • 소스가 공개된 개방형 시스템(Open System)
  • 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제
  • 다중 작업(Multi-Tasking, 멀티태스킹) 지원
  • 대부분 C언어로 작성되어 있으며 이식성이 높고 장치, 프로세스 간의 호환성이 높음
  • 파일을 구성하고 저장하기 위한 계층 구조(트리 구조)의 파일 시스템

 

하드웨어 > 커널 > > 유틸리티 > 사용자

 

 

커널(Kernel)

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

 

 

출처 : newdana01.log

쉘(Shell) 

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

 

 

UNIX에서의 프로세스 간 통신

각 프로세스는 시스템 호출을 통해 커널의 기능을 사용

프로세스 간 통신은 시그널(Signal), 파이프(Pipe), 소켓(Socket) 사용

 

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

 

반응형