728x90
유닉스의 특징
- 단순성
- 운영체제 자체를 단순화시켜 최소한의 필요한 기능만 제공
- 자원에 관한 일관성 있는 관점 제공, 주변 장치를 파일과 같은 형식으로 사용
- 이식성과 확장성
- 고급 언어인 C로 작성되어 다양한 플랫폼에 이식하여 사용 가능
- 각 기능이 모듈화되어 있어 새 기능 추가시 모듈만 추가하면 됨
- 주요 유닉스 계열의 운영체제 – 안드로이드(Adroid) OS – iOS – 맥(Mac) OS X – 리눅스(Linux) – BSD 유닉스(Unix) – 시스템 V – Sun 솔라리스(Solaris) – IBM AIX – HP HP-UX – Cray 유니코스(Unicos)
- 개방성
- 소스 코드 공개
- 대학에서 유닉스를 기반으로 여러 가지 유용한 소프트웨어 개발, 보급
- 유닉스의 양적, 질적인 면에서 폭발적 성장을 촉진하는 원동력
- 대화형 시스템
- 명령어 기반 사용자 인터페이스 이용
- 유닉스가 이해할 수 있는 ‘명령’을 사람이 입력, 유닉스는 명령 처리 결과를 화면에 출력
- 다중 사용자 시스템, 다중 작업용 시스템
- 여러 사용자가 컴퓨터에 동시에 접속하여 사용할 수 있는 운영체제
- 사용자들은 직렬 회선(Serial Cable)으로 연결된 단말기를 통해 유닉스에 접속
- 한 대의 컴퓨터에서 여러 작업을 동시에 수행
- 쉘 스크립트
- 유닉스 명령어나 유틸리티 등을 사용하여 프로그램을 작성하여 사용
- 큰 작업을 수행할 때 기존의 작은 프로그램들을 적절히 결합하여 수행하는 방식
- 다양한 부가 기능 제공
- ftp, telnet, www 등 다양한 네트워크 관련 응용 프로그램 제공
- 웹 서버, DB 서버, 메일 서버, 뉴스 서버, 네임 서버 등 네트워크 서버 기능 지원
- 프로그래밍 및 디버깅 도구, 문서 편집 도구, 출력 관련 도구 제공
유닉스, 리눅스의 활용 분야
- 서버
- 웹 서버, DB 서버, 파일 서버, 메일 서버, 뉴스 서버, 네임 서버, 클러스터링 등
- 임베디드 시스템
- 통신 단말기 : 휴대폰, PDA, PMP, 무선 IP 공유기, IPTV 셋탑박스, 인터넷폰 등
- 네트워크 장비 : 스위치, 방화벽, 게이트웨이 등
- 가전 제품 : DVD Player, MP3 Player 등
- 생산 설비 : 홈오토메이션, 공장 자동화, 산업용 로봇 등
유닉스 시스템의 구조
- 유닉스 시스템의 구조
- 구성요소 : 하드웨어, 커널, 쉘 및 라이브러리, 사용자 및 응용 프로그램
- 커널
- 운영체제의 핵심
- 하드웨어를 운영 관리
- 프로세스 관리 (Process management) – 여러 개의 응용 프로그램들이 동시에 수행되는 것처럼 실행될 수 있도록 프로세스 스케줄링
- 파일 관리 (File management) – 디스크 상에 파일 시스템을 구성하여 파일을 관리
- 메모리 관리 (Memory management) – 메인 메모리가 효과적으로 사용될 수 있도록 관리
- 통신 관리 (Communication management) – 네트워크를 통해 정보를 주고 받을 수 있도록 관리
- 주변 장치 관리 (Device management) – 모니터, 키보드, 마우스와 같은 장치를 사용할 수 있도록 관리
- 시스템 호출(system call)
- 커널이 제공하는 서비스에 대한 프로그래밍 인터페이스 역할
- 시스템 호출에 기반하여 공통적인 함수들의 모음인 라이브러리 존재
- 응용 프로그램은 필요시 시스템 호출과 라이브러리를 자유롭게 사용
- 쉘
- 사용자와 커널 사이의 중간자 역할
- 사용자가 입력한 명령을 해석하여 커널에 전달
- 커널이 명령 수행 결과를 돌려주면 사용자에게 전달
- 본 쉘(sh, Bourne Shell), C 쉘(csh, C Shell), 콘 쉘(kch, Korn Shell), 배시 쉘(bash, Bourne Again Shell)
- 사용자 및 응용 프로그램, 유틸리티
- 사용자가 개발한 프로그램, 응용 프로그램
- 각종 개발 도구, 문서 편집 도구, 네트워크 관련 도구
728x90
'프로그래밍 > Unix' 카테고리의 다른 글
유닉스 디렉토리 구조 (0) | 2020.03.22 |
---|---|
유닉스 파일의 종류 (0) | 2020.03.22 |
유닉스 일반 명령어 (0) | 2020.03.22 |
유닉스 사용자 계정 (0) | 2020.03.22 |
유닉스와 리눅스 (0) | 2020.03.22 |