유닉스란?
고급언어로 개발된 최초의 운영체제
고급언어란?
인간이 해당 언어를 보고 이해 할 수 있는가?
예 : 고급언어(C언어), 저급언어(기계어), 중간언어(어셈블리어)
운영체제란?
자원관리 : 자원이란? CPU,메모리,입출력 등
인터페이스 : GUI(Graphic User Interface)
유닉스의 역사
1964년 MULTICS에서 출발(더 작고 일관성 있는 운영체제를 만들자)
1969년 AT&T 벨 연구소에서 개발
개발자 : 켄 톰슨
데니스 리치
1973년 어셈블리 언어에서 C언어로 변경(이식성과 확장성)
(VS, 윈도우 C++)
초기 대학을 중심으로 연구 : BSD : Berkeley Software Distribution
상업용 버전 : AT&T 개발 : System III , System V 등
Cf. Linux ? (대형 vs 소형)
- 유닉스와 호환 가능한 운영체제이며, 공개 S/W
- 1991 리누스 토발즈가 커널 개발
발전 과정
대학 및 기업에서 이를 이용한 연구가 진행되어 다양한 기능이 추가되었음.
- 계열 1(시스템 V) : AT&T의 상업용 유닉스
- 계열 2(BSD) : 버클리 대학교
네트워크 기능 추가 : TCP/IP
HP나 썬마이크로시스템즈와 같은 컴퓨터 제조회사에서 많이 사용
SVR4
두 계열의 장점을 합침.
종류
구분 |
제품명 |
제조회사 |
유닉스 |
오라클 솔라리스(Oracle Solaris) |
Oracle(오라클) |
AIX |
IBM |
|
HP-Ux |
HP(휴렛제커드) |
|
리눅스 |
페도라(Fedora) |
RedHat(레드햇) |
우분투(Ubuntu) |
Canonical(캐노니컬) |
현재 UNIX는 "The Open Group"의 등록 상표이므로 , 각 제조사는 각자 이름을 붙여 사용함.
리눅스 (Linux)
- 리누스 토발즈가 개발한 운영체제: 리눅스 커널의 개발을 중재
- PC에서 동작
- 기존의 유닉스와 호환 : POSIX 표준을 따름
- 소스 공개 : 인터넷을 통해 여러 사람이 자발적으로 공동 개발에 참여
- 지금은 상용화 되어버린 유닉스의 초창기 정신
- GNU 시스템
GNU
- COPYLEFT vs. COPYRIGHT
- 오픈 소스를 이용해서 개발 할 때 주의할점
: 개인 사용 - 무료, 상업적 사용 - 로열티 지불 필요
시스템
대화형 시스템
사용자 인터페이스 : 명령어 기반 vs. 그래픽 기반(윈도우)
명령어 기반 : 사람이 유닉스가 이해 할 수 있는 명령을 입력하면,
유닉스는 명령의 처리 결과를 화면에 출력
다중 사용자 시스템
멀티 유저 : 여러 사람이 같은 컴퓨터에 동시에 접속하여 데이터를 사용하는 것
예 : 사용자들은 네트워크로 연결된 단말기를 통해 유닉스에 접속하여 원하는 작업을 할 수 있음
다중 작업용 시스템
멀티태스킹 : 한 대의 컴퓨터에서 여러 작업을 동시에 수행하는 것
예 : 파일 편집 작업을 처리하면서도 네트워크 서비스 제공, 출력 등의 작업도 가능
높은 이식성 , 확장성 , 개방성
C언어 : 다른 하드웨어로 이식하여도 처음부터 다시 개발 할 필요가 없음
(vs, 어셈블리어)
모듈화 : 각 기능이 모듈로 나뉘어 있어 새로운 기능을 추가할 때 필요한 모듈만 추가 할 수 있음 (구조화 프로그래밍)
계층적 파일 시스템
파일을 관리하기 위해 계층적인 트리 구조를 사용(자료구조)
루트 디렉토리 - 하위 디렉토리
부가적 기능 제공이 다양
프로그래밍 및 디버깅 도구
문서 편집 도구
출력 관련 도구
장점
무료 소프트 웨어
운영체제의 소스 코드가 공개되어 있어 원하면 이를 수정 할 수 있음
가볍다(적은 메모리 필요)
단점
초보자는 사용이 어려움
책임지고 문제를 해결해주는 사람이 없음
보안 문제..
윈도우는 유닉스와 반대다.
'서버 자료 > 유닉스' 카테고리의 다른 글
유닉스 시스템의 구조 (0) | 2019.01.22 |
---|---|
유닉스의 활용 분야 (0) | 2019.01.22 |