본문 바로가기

백엔드/os 및 일반 지식

리눅스 개요

반응형

리눅스의 특징


- 오픈 소스 운영체제이다.

 : 소스코드 및 모든 관련 자료가 공개되어 있는 운영체제이다.

 

-  멀티유저(다중사용자), 멀티태스킹(다중작업) 운영체제이다.

 ・ 멀티유저 기능은 여러 사용자가 동시에 동일한 시스템에 접근이 가능한 것을 의미한다.

 ・ 멀티태스킹은 여러 개의 태스크를 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있는 기능이다.

 ・ 가상 터미널 환경으로 하나의 모니터에 여러 개의 가상 화면(가상 콘솔)을 두어 화면마다 다른 작업을 실행할 수 있다.

 

- 다중 스레드를 지원하는 네트워크 운영체제이다.   

  ・ 하나의 프로세스 내에서 여러 개의 네트워크 작업을 동시에 처리할 수 있기 때문에 강력한 네트워크 지원이 가능하다.

  ・ 네트워크 서버로 이용이 가능하며 인터넷과 이더넷에 안정적으로 연결이 가능하다.

  ・ 웹브라우저, 메일, 뉴스, 웹 서버 등의 모든 인터넷 서비스 기능을 갖추고 있다.

 

- 여러 종류의 파일 시스템을 지원하는 운영체제이다.

  ・ 리눅스의 기본 파일 시스템인 ext2, ext3, ext4, DOS의 FAT, WINDOWS의 FAT3, NTFS, 네트워크 파일 시스템 SMB, CIFS, NFS 등도 지원한다.

 

- 리눅스는 멀티유저, 멀티태스킹을 지원하는 유닉스처럼 보이는 운영체제이다. 하지만 리눅스는 유닉스와는 독립적으로 개발되었으므로 유닉스 계열 운영체제가 아니라 유닉스 클론(Clone) 운영체제이다.

 

 


장단점


장점

- 리눅스는 유닉스와 완벽하게 호환이 가능하다.

 

  ・ 리눅스는 POSIX(Portable Operationg System Inferface) 규격을 따르고 있다.

  ・ POSIX는 유닉스 운영체제에 기반을 두고 있는 표준 운영체제 인터페이스이다.

  ・ 리눅스는 POSIX 표준화를 기반하기 때문에 유닉스 소스코드를 전혀 사용하지 않고 개발되었다.

  ・ POSIX 규격을 따르기 때문에 유닉스용 프로그램은 별도의 수정 없이 리눅스에서 동작할 수 있다.

 

-  리눅스는 PC용 운영체제보다 안정적이다.

  ・ 일반 PC는 업무가 끝나면 전원을 끄지만 리눅스는 네트워크 사용을 전제로 설계되었기에 특별한 사항을 제외하고 항상 켜놓아도 안정적으로 운영된다.

  ・ 네트워크 기반하의 멀티유저, 멀티태스킹이 가능하여 리눅스 시스템을 많은 작업자가 동시에 사용해도 안정적인 시스템 운영이 가능하다.

 

- 하드웨어 기능을 효과적으로 사용한다.

  ・ 다른 운영체제보다 적은 양의 메모리만을 필요로 한다.

  ・ SWAP 방식을 통해 RAM이 부족한 경우 SWAP 영역을 늘려 메모리의 효율성을 높일 수 있다.

 

- 리눅스는 오픈 소스 운영체제이다.

  ・ 많은 우수 인력이 확보되어 있기 때문에 우수한 소프트웨어 개발이 가능하고 여러 배포판 개발 업체들이 있기 때문에 사용자에게 선택권이 주어진다.

  ・ 다양한 배포판들이 존재하여 운영체제뿐만 아니라 여러 가지 유틸리티 프로그램과 응용 프로그램들을 사용자 편의에 맞춰 무료로 사용할 수 있다.

 

단점

- 공개 운영체제이기 때문에 문제 발생시 기술 지원을 받는 데 한계가 있다.

  ・ 예상치 못한 오류 발생 시 개발자들의 기술 지원을 직접적으로 받는 것은 불가능하다.

 

- 한글 지원이 미흡하다.

  ・ 배포판마다 별도의 한글 지원 패키지를 설치한 후 사용해야 한다는 불편함이 있다.

 

- 보안상의 취약점이 쉽게 노출될 가능성이 있다.

  ・ 공개 운영체제이기 때문에 보안에 취약할 것이라는 선입관이 있으나 꾸준한 기술 개발로 비교적 높은 보안성을 지원하고 있다.

  ・ 많은 프로그래머들이 리눅스를 연구하고 있기 때문에, 보안 문제가 발생하였을 경우 신속하게 해결될 수 있다.

 


리눅스 디렉터리 종류와 특징


 

1) 디렉터리란 파일 저장소를 의미하며, 리눅스 디렉터리는 최상위 디렉터리(/)를 기준으로 하위 디렉터리들이 존재하는 계층적 트리 구조로 구성되어 있다.

2) 디렉터리 간에는 부모와 자식 간의 관계를 가지므로 상위 디렉터리와 하위 디렉터리는 부모 디렉터리와 자식 디렉터리로 구분한다.

3) 디렉터리별 저장 내용

 

디렉터리 저장 내용
/  ・ 파일 시스템이 있는 최상위 디렉터리로 루트 디렉터리라고도 함
 ・ 모든 디렉터리의 출발점인 동시에 다른 시스템과 연결점이 되는 디렉터리 
/boot  ・ 부트 디렉터리로 부팅시 커널 이미지와 부팅 정보 파일 저장
/proc  ・ 시스템 정보 디렉터리이며 커널 기능을 제어하는 역할
 ・ 현재 실행되는 프로세스와 실제로 사용되는 장치, 하드웨어 정보 저장
/lib  ・ 공유 라이브러리 디렉터리
 ・ 커널 모듈 파일들과 프로그램 실행을 지원해 주는 라이브러리 저장
/bin  ・ 기본적인 명령어가 저장된 디렉터리
 ・ root 사용자와 일반 사용자가 함께 사용할 수 있는 명령어 디렉터리
/dev  ・ 시스템 디바이스 파일들을 저장하는 디렉터리
 ・ 하드디스크 장치 파일, CD-ROM 장치파일 같은 파일 저장 
/etc  ・ 시스템 환경 설정 파일 저장 디렉터리 
/root  ・ 시스템 관리자용 홈 디렉터리
/sbin  ・ 관리자용 시스템 표준 명령 및 시스템 관리와 관련된 실행 명령어 저장 
/usr  ・ 사용자 디렉터리로 사용자  데이터나 애플리케이션 저장
/home  ・ 사용자 계정 디렉터리로 계정들의 홈 디렉터리가 위치
 ・ 일반 사용자들이 로그인 시 처음으로 위치하게 되는 디렉터리
/var  ・ 가변 자료 저장 디렉터리로 로그 파일이나 메일 데이터 저장
/tmp  ・ 각종 프로그램이나 프로세스 작업을 할 때 임시로 생성되는 파일 저장
 ・ 모든 사용자에 대해서 읽기와 쓰기가 허용
 ・ 스티키 비트(Stickey bit) 설정으로 파일의 소유자만이 자신의 소율 파일을 지울 수 있음 
/mnt  ・ 파일 시스템을 일시적으로 마운트할 때 사용
/lost+fount  ・ 결함이 있는 파일에 대한 정보가 저자오디는 디렉터리 

 


리눅스 배포판


1) 특징

 ・ 리눅스 배포판은 리눅스 전체 시스템을 구성하는 소프트웨어 패키지 형태이다.

 ・ 리눅스 커널, GNU 소프트웨어 및 여러 가지 자유 소프트웨어로 구성된 운영체제이다.

 

  - 운영체제는 리눅스 커널과 GNU 프로젝트에서 가져온 라이브러리와 유틸리티, X-WINDOW 시스템의 그래픽으로 구성되며, 워드프로세서, 스프레드시트, 미디어플레이어, 데이터베이스 등 여러가지 소프트웨어 애플리케이션들도 포함하고 있다.

・ 전 세계에 300여 가지의 배포판이 있으며, 배포판을 구성하는 소프트웨어도 자유롭게 구성되어 있다.

  - 용량을 맞춰서 X-WINDOW를 빼거나 용량이 작은 GNU 유틸리티를 선택하기도 한다.

・ 대표적인 배포판은 슬랙웨어, 데비안, 레드햇 등이 있다.

  - 페도라(Fedora)는 레드햇(Red Hat), openSUSE는 노벨(Novell), 우분투(Ubuntu)는 캐코니컬 등의 기업이 관리하는 배포판이다.

  - 데비안(Debian)이나 젠투(Gentoo)는 리눅스 커뮤니티 기반의 배포판이다.

 

2) 종류

 

(1) 슬렉웨어 리눅스(SlackwareLinux)

 ・ 배포판 가운데 가장 먼저 대중화된 배포판으로 1992년 패트릭 볼커딩에 의해 출시되었다.

 ・ 최근 패키지 관리의 문제점으로 인하여 인기가 다소 떨어진 상태이다.

 ・ 구조가 간결하고 파악하기 쉽기 때문에 유닉스 학습에 리눅스를 사용하고 싶어 하는 사용자들에게 적합하다.

 

(2) 데비안(Debian)

 ・ 1994년 이안머독(Ian Murdock)에 의해 비영리 조직으로 데비안 프로젝트를 설립하였다.

 ・ 데비안 프로젝트에서 만들어 배포하는 공개 운영체제로 GNU의 공식적인 후원을 받고 있는 유일한 배포판이다.

 ・ 리눅스(Linux)커널을 탑재한 데비안 GNU/리눅스, GNU 허드(GNU Hurd) 커널을 탑재한 데비안 GNU/허드, FreeBSD 커널을 탑재한 데비안 GNU/KFreeBSD, NetBSD 커널을 탑재한 GNU/NetBSD 등으로 나뉘며 현재 이 가운데 정식판이 존재하는 것은 데비안 GNU/리눅스 뿐이다.

 ・ 데비안은 패키지 설치 및 업그레이드의 과정이 단순하다. 인스톨 후 패키지 매니저인 apt등을 잉용하면 소프트웨어의 설치나 업데이트에서 다른 패키지와의 의존성 확인, 보안관련 업데이트 등을 자동으로 해준다.

 

(3) 우분투(Ubuntu)

 ・ 데비안 GNU/리눅스(Debian GNU/Linux)에 기초한 운영체제이다.

 ・ 고유한 데스크탑 환경인 유니티를 사용하는 리눅스 배포판이다.

 ・ 영국에 기반을 둔 회사인 캐노니컬의 지원을 받고 있다.

 ・ 여섯 달마다 새 버젼이 하나씩 배포, GNOME의 새 버젼이 나오는 시기와 비슷하다. 

 ・ 사용자 편의성에 초점을 맞추고 있다.

 

(4) 레드햇(RedHat)

 ・ 미국의 레드햇사가 개발하던 리눅스 배포판이다.

 ・ 현재는 레드햇사가 유료로 기술지원을 하는 기업용 레드햇 엔터프라이즈 리눅스(RHEL)와 페도라 프로젝트에서 개발하고 있는 페도라로 나뉘어 있다.

 ・ 레드햇은 기업용 유료 리눅스 배포판인 RHEL의 개발을 지원한다.

 

(5) RHEL(Red Hat Enterprise Linux)

 ・레드햇이 개발하여 판매하고 있는 상용 리눅스 배포판이다.

 ・ 18~24개월에 한 번씩 새로운 버젼이 공개되며 라이선스는 별도로 판매하지 않는다.

 

 ・ 서브 스크립션의 형태로 요금을 지불하는 방식으로 계약한다.

 ・ 기술 지원은 버젼마다 출시 지점으로부터 7년 동안 제공한다.

 ・ 계약기간 중에는 추가 비용 없이 업그레이드 및 다운그레이드를 자유롭게 실시할 수 있다.

 ・ 상업용 패키지는 구입해야 하지만 소스코드는 레드햇의 FTP 사이트를 통해 공개한다.

 

(6) 페도라(Fedora)

 ・ 리눅스 커널에 기반한 운영체제와 레드햇의 후원과 개발 공동체의 지원 아래 개발된 배포판이다.

 ・ 일반적인 목적을 가진 RPM 기반의 소프트웨어가 결합된 운영체제이다.

 ・ 6개월 간격으로 새로운 버전이 배포되며 지원기간은 각 버전마다 13개월이다.

 ・ 소프트웨어 개발이 안정적으로 이루어지기 위해서는 새 버전으로 계속 교체되어야 한다는 문제점이 있다.

 

(7) CentOS

 ・ 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 운영체제이다.

 ・ 플랫폼을 제공할 목적으로 만들어진 리눅스계 운영체제이다.

 ・ 자체 커뮤니티에 의해 관리되고 있다.

 ・ 기본적으로 포함되는 소프트웨어와 업데이트되는 소프트웨어를 아울러 이전 파일에 대해 상위판과 100%에 최대한 가까운 호환성을 유지하는 것을 원칙으로 하고 있다.

 ・ 레드햇의 기술 지원은 받지 않는다.

 

(8) 수세(SuSe)

 ・ 독일에서 출시된 배포판으로 유렙에서 인기를 누리고 있다.

 ・ 풍부한 기능과 안정성, 보안 기능을 포함하고 있다.

 

 

 

 

 

 

 

리눅스의 특징


- 리눅스는 도스나 윈도우와는 달리 진정한 32비트 운영체제이며 멀티태스킹과 멀티유저 기능을 갖고 있다.

- 윈95나 도스를 쓰는 사람치고 하루에 한 두번 피시를 리부팅 해보지 않은 사람이 드물 것이다. 하지만 리눅스를 몇 달 동안 한번도 끄지 않고 가동해왔다는 이야기는 전혀 자랑이 아니다. 몇 년 씩 말썽없이 사용한 경우가 흔히 있기 때문이다. 필자가 인터넷 서버용(www.linuxlab.co.kr)으로 사용 중인 리눅스(486DX-66)도 하드웨어 교체시나 정전시를 제외하고는 설치한지 2년이된 지금까지 한번도 다운된 적이 없다. 리눅스는 물론 만능은 아니다. 하지만 어느 단일 운영체제도 리눅스만큼 여러면에서 다재다능하지 못하다. 그래도 꼭 리눅스가 다른 운영체제보다 뛰어난 분야를 들라면 아래와 같다.

 

 

 

멀티 플랫폼 (Multiplatform)


- 리눅스는 모든 인텔 CPU(80386-SX 이상) 및 호환 CPU를 장착한 피시에서 사용 가능하다. 이외에도 모토로라사의 680X0 계열 CPU를 장착한 아미가(Amiga)나 아타리(Atari) 피시, DEC사의 알파시스템, 선(SUN)사의 Sparc과 애플사의 파워피시, MIPS 기종에 이식되었고 그 외의 여러 워크스테이션에 이식이 진행 중이다.

 

 

 

다른 운영체제에 대한 지원


- 리눅스는 피시에서 사용되는 대부분의 운영체제에 대해 지원 방안이 강구되어있다. 도스나 윈도우95의 파일을 읽거나 쓸 수 있으며 윈95의 8자 이상의 파일이름을 리눅스에서 볼 수 있다.

- DOSEMU를 쓰면 상당수의 도스 프로그램을 리눅스에서 실행할 수 있다.

- 윈도우3.1용 프로그램을 리눅스에서 실행시키기 위하여 WINE이라는 프로젝트가 진행중이며 이미 상당한 성과를 보고있다.

- 도스 파일시스템에 리눅스를 설치하는 것도 가능하므로 도스상태에서 바로 리눅스를 실행할 수 있다.

- 이외에도 OS/2, 맥킨토시의 파일을 읽을 수 있고, iBCS(Intel Binary Compatibitity Standard)의 포팅이 진행 중 이어서 피시용 유닉스인 SCO, SVR3, SVR4용으로 개발된 상당수의 프로그램이 리눅스에서 바로 실행 가능하다.

 

 

 

네트워킹


- 리눅스는 네트워크에 관한 한 타의 추종을 불허한다. 컴퓨터에서 구현된 네트워크 기능은 모두 리눅스에 있다고 보면된다.

- 리눅스는 이더넷(Ethernet), 토큰링(Token Ring), 아크넷(Arcnet) 등 3대 주요 랜 표준을 지원하며 ISDN, FDDI, ATM, X.25, Frame Relay 등의 주요 네트워크 장비를 리눅스에서 사용 가능하다. 리눅스에서 지원하는 네트워크 프로토콜과 네트워크 기능을 들면

 - IPX -  노벨 네트웨어 서버 및 클라이언트
 - Appletalk -  맥피시의 파일 및 프린터서버
 - NetBEUI(SAMBA) - Win95, Windows for Workgroup,
    랜매니저 피시와의 랜 구축
 - TCP/IP - NFS(Network File System) 서버, Telnet, FTP

또 리눅스 피시에 적절한 하드웨어를 결합하면 기존 제품보다 훨씬 저렴한 가격으로 브리지, 라우터, 게이트웨이를 만들 수 있다. 필자도 싱크보드에 리눅스를 써서 라우터를 만든 적이 있다.

 

 

 

인터넷


- 리눅스는 탄생 단계부터 인터넷을 이용하였으며 모든 개발자들이 거의 인터넷을 통해 정보를 주고 받고 있다. 인터넷이 없었다면 리눅스는 존재하지 않았을지도 모른다. 리눅스 개발자들이 모두 인터넷 사용자들이므로 리눅스가 인터넷의 모든 기능을 지원하는 것은 어쩌면 당연한 일인지도 모른다.

  -  웹서버 (Apache, CERN, NCSA)
  -  메일서버 (Sendmail, Smail)
  -  뉴스서버 (INND, C-News)
  -  DNS(Domain Name System) 서버
  -  IRC 서버등 유닉스에서 가능한 모든 인터넷서버의 기능을 리눅스에서
     사용할 수 있다.
     인터넷용 시리얼 프로토콜인 PPP, SLIP, CSLIP 등도 지원된다.

- 전세계의 상당수의 인터넷서비스 제공자(ISP: Internet Service Provider)가 리눅스를 인터넷 서비스에 사용하고 있으며, 이들을 위한 linux.admin.isp라는 뉴스그룹도 있다.

 

 

기타


프로그래밍 언어로서 C, C++, PERL, Java 등의 각종 언어를 지원하며 GUI 환경으로 X 윈도우가 있다. 통신용으로는 minicom, kermit, term 등과 여러 BBS 프로그램들이 있다. 아마추어무선에서 데이타통신에 사용하는 AX.25 프로토콜을 지원하기도 한다.

 

 

 

리눅스의 종류


리눅스의 종류는 그 용도에 따라 아주 다양하게 있다.

 

레드햇 계열 리눅스


레드햇 리눅스를 기반으로한 리눅스 운영체제이다. 유료버전, 무료버전 다양하게 존재한다.

CentOS

레드햇 계열이라고 볼 수 있다. 무료 배포판이며 RedHat Enterprise Advanced Server의 클론 버전으로 현재 실무에서 대부분 사용하는 레드햇 복제품이라고 볼 수 있다. 레드햇 패키지를 모두 사용할 수 있고, 안정성이 입증되었다.

Slackware

슬랙웨어는 초창기에 나온 배포판으로 1993년 패트릭 볼커딩이 개발하여 보급하였다. 하지만 현재 슬래웨어는 다른 배포판에 비해 다소 제한되어있는데 가장 큰 이유가 패키지 관리에 있다. 슬랙웨어는 구조가 간결하고 내용을 파악하기 쉬우며 관리도구가 간소하다. 하지만 대부분의 설정이 에디트에서 텍스트파일을 다시 써야하기 때문에 익숙하지 않은 사람에겐 어렵다. 초보자는 선택하지 않는 편이 좋다.

레드햇

1993년 설립된 미국의 리눅스 배포회사다. 리눅스 관련 기업중 가장 지명도가 높다. RPM 이라는 패키지 관리 시스템으로 시스템 관리를 편하게 하였다. 레드햇 리눅스는 레드햇사가 개발하던 리눅스 배포판으로, 유료로 지기술지원을 기업용 레드햇 엔터프라이즈와 페도라 프로젝트에서 개발하고 있는 페도라로 나뉘어 있다.

페도라

레드햇의 공식 후원과 개발 공동체의 지원아래에 개발된 일반적인 목적을 가진 RPM기반의 소프트웨어가 결합된 리눅스이다.

 

 

 

데비안 계열 리눅스


데비안은 자원봉사 모임인 데비안 프로젝트에서 만들어 배포하는 공개 운영체제이다.

우분투

리눅스를 쉽게 사용할 수 있도록 만들어진 배포판이다. 데비안 GNU/Linux 를 기반으로 하고있고, 카노니컬사의 지원을 받고있다. 우분투라는 이름은 남아프리카 반투어에서 유래된말로 "너가 있으니 내가 있다"라는 뜻이다. 일반적으로 6달마다 새로운 버전이 하나씩 나오는데 이것은 GNOME의 새로운 버전이 나오는 시기와 비슷하다. 사용자 편의성에 많은 초점을 맞추고 있다. 우분투는 배포판에 대한 수정, 편집, 재배포가 합법적인 소프트웨어로써, 지금까지 수많은 변형된 배포판이나 공식지원하지 배포판들이 등장했다.

칼리리눅스

백트랙의 후속 버전이다. 백트랙과 마찬가지로 모의 침투 테스트에 필요한 Tool들을 모아놨다. 즉, 해킹 툴이 설치되있는 리눅스이다. 뿐만아니라, 발견한 취약점을 의뢰인에게 보고하기 위한 레포팅 툴 등도 포함되어있다. 백트랙은 운영체제로써 완성도는 타 배포판의 베타정도로 떨어졌지만 Kali에서는 완성도를 끌어올렸다. 해킹툴도 보완했다. 백트랙에서 동작하지 않거나 중복되는 툴들을 제거하고 300개 이상의 침투테스트 툴들을 제공한다. 우분투 기반이던 백트랙과 달리 데비안 기반으로 바뀌었고 데비안 개발기준을 충족한다.

오픈수세

오픈수세는 오픈수세 프로젝트 커뮤니티가 추진하고 있으며, 수세리눅스를 개발하고 유지하는 노벨사의 후원을 받는다. 이는 과거의 "수세 리눅스 프로페셔널"에 상당하는 것으로 노벨이 수세 리눅스를 인수한 이후 커뮤니티에서 개발 과정의 중요한 부분을 맡게 했다. 오픈수세 배포판 외에도, 오픈수세 프로젝트에서는 커뮤니티 참여를 위한 웹 포털을 제공하고 있다. 오픈수세 커뮤니티는 노벨의 대표 개발자들과 함께 오픈수세 빌드 서비스 전체 코드에 기여하며, 문서 작성, 삽화 디자인, 오픈 메일링 리스트와 IRC에서의 토론, 오픈수세 사이트와 위키 인터페이스를 개선하고 있다. 배포판 지원 외에도 오픈수세는 커뮤니티 관계를 위해 웹 포털을 제공하고 있다. 커뮤니티는 코드를 편집하고, 커뮤니티는 문서를 쓰고, 아트워크를 디자인하고, 오픈 메일링 리스트와 IRC를 통해 토론하고, 위키 인터페이스의 오픈수세 사이트를 발전시키고 있다. 대부분의 배포판들과 같이 오픈수세는 기본 그래픽 사용자 인터페이스와 명령 줄 인터페이스를 동시에 포함한다. 설치 중에는 사용자가 원하는 그래픽 사용자 인터페이스(그놈, KDE, XFCE)를 선택할 수 있도록 하였다(텍스트 모드로도 설치 가능). 오픈수세에는 오픈 소스/자유 소프트웨어로 개발한 소프트웨어 꾸러미를 대부분 지원한다.

유닉스

- 유닉스 운영체제는 벨 연구소의 연구원인 켄 톰슨(Ken thompson)과 데니스 리치(Deniss Ritchie)의 작품이었다. 그때 켄 톰슨은 우주 여행(Space Travel)이라는 프로그램을 작업 중이었는데 태양계에서 행성의 움직임을 모의 실험하는 프로그램이었다. 이 프로그램은 GE(General Electric)6000 시리즈 컴퓨터에서 실행되었고, 다중 사용자 환경을 처음 제공하는 운영체제 중 하나인 Multics라는 운영체제에서 실행되었다. 그러나 Multics는 부피가 크고 속도는 느리고 상당한 컴퓨터 자원을 요구하였다. 톰슨은 더 작은 컴퓨터를 찾아서 우주여행 프로그램을 옮겼다. 더 작은 컴퓨터는 DEC(Digiral Equipment Corporation)사에서 만든 기계시리즈중 하나인 PDP-7이었다. 이 컴퓨터에서 톰슨은 유닉스(UNIX)라는 새로운 운영체제를 만들었다. 그리고 이 운영체제는 개선된 Multics 개념의 일부를 수용하였다. 다른 운영체제들은 성능이 더 좋거나 나쁜 것들도 있었는데, 유닉스는 이들이 가장 원하는 부분을 결합한 운영체제가 되었다.

- 유닉스는 1970년에 PDP-11/20에 이식되었고 그 다음에 PDP-11/40, PDP-11/45 그리고 마침내는 PDP-11/70에 이식되었다. 이 기계들은 유닉스가 지원할 수 있는 복잡한 하드웨어들이 점차적으로 추가되는 특징들이 점차적으로 추가되는 특징을 가지고 있었다. 데니스리치와 벨연구소에 있는 사람들은 텍스트 처리기와 같은 유닉스 유틸리티를 계속해서 추가하는 작업을 하였다.

이 당시 유닉스는 대부분의 운영체제처럼, 어셈블리언어로 작성되었다. 어셈블리 언어는 컴퓨터 구조에 의존하는 원시적인 명령의 집합이었다. 어셈블리 언어로 작성된 프로그램들은 기계에 의존적이고 단지 한 컴퓨 터에서만 또는 같은 계열의 컴퓨터에서만 동작된다. 따라서 한 컴퓨터에서 다른 컴퓨터로 유닉스를 이식하는 것은 프로그램을 다시 작성하는 일이 수반되었다.

유닉스와 리눅스의 차이점

유닉스의 특징

- 이식성(Portablility)

C언어의 사용은 유닉스를 이식가능한 운영체제로 만들었다. 오늘날 유닉스 운영체제는 마이크로 컴퓨터에서 슈퍼컴퓨터까지 다양한 범위의 기계에서 동작한다. 이식성은 한 시스템에서 다른 시스템으로 바꾸었을 때 사용자가 배우는 시간을 줄이는데 도움이 된다. 또, 여러하드웨어 판매자들로 부터 좋은 선택을 제공해 준다.

다중 사용자 능력

유닉스에서 여러 사용자들이 동시에 컴퓨터 자원을 공유한다. 사용되는 기계에 따라 유닉스는 백명이상의 사용자를 지원할 수 있고 각 사용자는 서로 다른 프로그램을 실행 할 수 있다. 유닉스는 사용자에게 자신들이 허가권한을 가진 데이터와 프로그램에만 접근을 허용하는 보안대책을 제공한다.

다중 작업 능력

유닉스는 사용자에게 작업을 초기화하고 그 다음 원래 작업이 백그란운드로 실행되는 동안 다른 작업의 수행을 계속하는 것을 허용한다. 유닉스는 또한 사용자에게 작업들 간에 백그라운드와 포그라운드 작업을 교환하는 것을 허가한다.

계층적인 파일 시스템

유닉스의 모든 파일들은 루트(root: /)라고 부르는 하나의 점으로부터 시작해서 검색할 수 있는 나무형구조(tree-structure)를 이루고 있다. 나무형 구조에서 나뭇잎은 파일에 해당 되며, 가지는 디렉토리에 해당된다. 만일 어떤 파일을 찾아 가려면, 루트(/)로부터 정확히 경로를 추적함으로써 찾을 수 있는 계층적 파일 구조를 가지고 있다.

장치 독립적인 입/출력 가능

입력과 출력 동장은 장치에 독립적이다. 왜냐하면 유닉스파일로 모든 장치를 다루기 때문아다.

유닉스에서 사용자는 어떤 장치 또는 파일에 대한 명령의 출력을 재지정(redirect)할 수 있다. 이 재지정 처리는 또한 입력데이터와 함께 사용 가능하다. 사용자는 터미널로 들어오는 입력을 디스크로부터 들어오도록 재지정할 수 있다.

사용자 인터페이스: 쉘(shell)

복잡하고 정교한 사용자 인터페이스인 유닉스 쉘은 여러 가지 혁신적이고 좋은 특정들을 제공한다.

사용자는 기존의 명령들을 결합함으로써 새로운 기능을 만들 수 있다. 예를 들어 data ; lp라는 명령은 라인 프린터 상에서 현재 날짜를 출력하기 위한 date와 lp 명령의 결합이다.

쉘 스크립트(shell script) - 많은 데이터 처리 응용이 빈번하게(메일,주 또는 어떤 규칙적인 기간동안) 실행된다. 또 다른 상황에서 명령어 집합을 여러 번 입력되어야 한다. 동일한 명령어 집합을 여러 번 입력하는 것은 귀찮고 실수를 범하기 쉬운 과정이다. 이 어려움을 제거하기 위한 방법은 쉘 스크립트를 작성하는 것이다. 쉐 스크립트는 명령어의 연속으로 구성된 파일이다.

유틸리티

유닉스 시스템은 대규모 프로젝트를 개발할 경우, 필요한 모든 프로그램을 새로 만들어 제공하기 보다는 기존에 있는 작은 유틸리티 프로그램을 조합하여 해결할 수 있는 환경을 만드는데 많은 비중을 두고 개발되었다. 그리고 유닉스는 프로그래머를 위하여 프로그래머에 의해서 고안되었기 때문에 항상 대화식으로 진행되며, 프로그램 개밭을 효과적으로 수행할 수 있도록 하는 도구를 많이 만드는 데 역점을 두어 왔다. 그러한 도구를 예로 들면 make,SCCS(source code control system) 등이 있는데 이러한 폭넓고 다양한 유틸리티는 매우 큰 프로그램을 관리하고 개발하는데 상당한 도움을 줄뿐만 아니라 개발 시간도 단축시켜 준다.

 

 

 

 

 

출처 :

https://elevatingcodingclub.tistory.com/35

 

[Linux] 리눅스 개요 정리

리눅스의 특징 1) 오픈 소스 운영체제이다.  : 소스코드 및 모든 관련 자료가 공개되어 있는 운영체제이다. 2) 멀티유저(다중사용자), 멀티태스킹(다중작업) 운영체제이다.  ・ 멀티유저 기능은

elevatingcodingclub.tistory.com

 http://blog.naver.com/PostView.nhn?blogId=ashly77&logNo=120125895857

 

유닉스란

유닉스란 무엇인가? ▲유닉스의 정의 Unix란 컴퓨터 운영체제, 즉 프로그램을 실행시키고 자원을...

blog.naver.com

https://velog.io/@bungouk6829/Linux-%EA%B0%9C%EC%9A%94

 

Linux 개요

리눅스는 멀티유저, 멀티태스킹을 지원하는 유닉스처럼 보이는 운영체제이다. 하지만 리눅스는 유닉스와는 독립적으로 개발되었으므로 유닉스 계열 운영체제가 아니라 유닉스 클론(Clone) 운영

velog.io

 https://pante.blog/481

 

반응형