리눅스의 특징


(1) 운영체제로서의 대표적인 특성


① 완벽한 멀티태스킹(True Multi-tasking) - 리눅스는 완벽한 멀티태스킹을 지원한다.

② 하나의 프로세서는 이미 실행되고 있는 다른 프로세서에 관계없이 CPU의 자원을 제한 없이 활용할 수 있다.

③ 멀티태스킹은 다중 사용자 시스템을 위한 기본적인 기능이며 리눅스는 최초의 개발 단계부터 보다 완벽한 멀티태스킹을 구현하기 위해서 작성되었다.


  

(2) 가상 메모리 (Virtual Memory)


①리눅스는 페이징(Paging) 기법에 의한 가상 메모리 기능을 지원한다.

②시스템에 설치되어 있는 실제의 메모리보다 많은 양의 메모리를 사용하기 위한 소프트웨어적인 처리 방법을 사용한다.

가상 메모리를 처리하기 위한 단위를 페이지라 한다.

④하드디스크를 확장된 메모리 영역으로 취급하고, 프로그램을 페이지 단위로 분리한 뒤에 실행되어야 할 부분만을 하드디스크에서 실제의 메모리로 계속해서 전환시키는 방법을 사용함으로써, 시스템에 설치되어 있는 메모리의 한계를 극복할 수 있다.


(3)공유 라이브러리 (Shared Libraries)


①프로그램에서 사용되는 여러 가지 기능들을 별도의 파일로 독립시켜서 필요할 때만 연결해서 사용할 수 있게 하는 방법이다.

②라이브러리 기능에 의한 프로그래밍은 중복된 코드의 생성을 피하고 효율성을 높일 수 있다.

③공유 라이브러리는 하나의 라이브러리가 메모리에 적제 되었을 때 이를 여러개의 프로그램들이 동시에 사용할 수 있도록 하는 기능이며, 이러한 원리는 윈도우즈 95/98의 DLL(Dynamic Link Library)에서도 동일하게 적용된다. 



(4) 실시간 페이지 적재 기능 (demand loading excutables)


①가상 메모리에 의해서 프로그램이 페이지 단위로 분리되어 있을 때 실행되는 순간에만 메모리로 적재되는 기능이다.

②프로그램의 실행되지 않는 페이지는 하드디스크와 같은 보조 기억 장치에 위치하게 됨으로 메모리를 보다 효율적으로 사용할 수 있다. 


(5) 강력한 네트워크를 지원 TCP/IP와 BSD 소켓


①TCP/IP(Transmission Control Protocol/Internet Protocol)를 비롯한 SLIP(Serial Line Internet Protocol), PPP(Point-to-Point Protocol)와 BSD 소켓(Socket)에 의한 네트워크 환경을 모두 지원한다.

②통신과 같이 프로세스의 양방향 전달이 가능한 프로그램을 만들기 위해서 사용하는 라이브러리나 인터페이스를 소켓이라고 한다.

③현재 세상에 나와 있는 대부분의 네트워크를 가능하게 할 수 있는 운영체제이다. 


(6) 리눅스는 다른 운영체제와의 공존이 가능


①Ms-Dos, OS/2, Windows, Windows NT 등과 같이 한 대의 컴퓨터에서 공존이 가능하다.


(7) 뛰어난 안정성을 유지


①상용 유닉스 시스템에 버금가는 안정성을 가지고 있다.

②앞에서 설명한 커널이 어떻게 만들어 졌는가에 따라 좌우된다.

③윈도우 NT 등과 비교해 볼 때 아주 빨리 버그를 수정하고 새로운 안정화 버전을 만들어 내기에 안정성은 타 OS보다 우위에 있다.


(8)빠른 업그레이드와 버그 수정


①버그가 발견되는 즉시 해커나 FSF에 의해 최소 하루 안에 버그 수정이 이루어지고 있다.


(9) 완벽한 유닉스 호환 (Full Compatible with Unix)


①리눅스는 POSIX 표준을 준수하기 때문에 이 표준에 따르는 System V나 BSD 유닉스와 완벽하게 호환될 수 있다.

②모든 종류의 유닉스용 프로그램은 소스 코드에 의해서 리눅스로 이식될 수 있다.


(10) 다양한 파일 시스템과 파일 포맷 

(Various File System and File Format)


①다양한 형태의 파일 시스템과 실행 파일 포맷을 지원한다.

②유닉스, 미닉스, MS-DOS, 윈도우 95/98, OS2, MacOS 등에서 사용하는 다양한 종류의 파일을 활용할 수 있다.

③이밖에도 많은 기능들을 지원하고 있으며 새로운 기능들이 계속해서 추가되고 있다. 



'리눅스 ( Linux ) > 리눅스' 카테고리의 다른 글

Raid 구성  (0) 2017.04.12
가상머신의 이해  (0) 2017.01.15
파일의 구성 및 종류  (0) 2017.01.15
쉘이란?  (0) 2017.01.15
커널이란?  (0) 2017.01.15
복사했습니다!