프로그래밍/Linux

Linux 장단점

사탕공방 2017. 3. 26. 13:22

이 포스트는 네이버 블로그에 올렸던 포스트를 가져온 것입니다.




1. 이식성과 확장성이 용이
 - 리눅스는 C언어와 어셈블리 언어로 작성(거의 대부분이 C언어), C언어 자체가 특정 디바이스에 
   의존적이지 않기 때문에 프로그램을 다른 디바이스의 시스템으로 포팅하는 것이 쉽다.

2. 텍스트 모드 중심의 관리와 다양한 관리 환경의 제공
 - 직접 설정 파일을 수정하여 세밀한 시스템의 설정이 가능, 소스코드를 직접 수정하여 프로그램을 
   시스템에 최적화할 수도 있다. 간단한 파일 수정 작업이나 명령의 실행만으로도 간편하게 시스템 
   관리 가능, 간단한 스크립트 파일을 작성하여 시스템을 위한 작업을 자동화할 수 있다. 시스템 
   관리의 편리성을 위한 다양한 관리 도구도 지원

3. 풍부한 소프트웨어 개발 환경을 제공
 - 거의 모든 프로그래밍 언어를 제공, GNU 소프트웨어가 제공되므로 고가의 툴을 사용할 필요x
   모든 시스템의 소스가 개방되어 있는 유닉스 환경은 소프트웨어 개발에 개방적

4. 다양한 네트워크 서비스 및 작업환경 지원
 - 오픈소스 소프트웨어 형태로 제공되는 많은 프로그램을 사용하여 다양한 웹서비스 구축과 서비스가
   가능하고 웹을 통한 작업환경 구축도 가능

5. 뛰어난 안전성
 - 국제적이고 개방적인 개발 환경으로 버그가 있을경우 상업적 소프트웨어에 비하여 신속하게 패치.
   커널, 파일 시스템, 쉘, 웹서비스 프로그램 등 리눅스 시스템이 기반이 되는 모든 프로그램의 
   소스코드가 공개되어 있으므로 직접 시스템 최적화 가능

6. 시스템 보안성
 - 전세계 개발자들로부터의 의견수렴 및 지속적인 테스트를 거쳐 완성되기 때문에 완성도가 높고 
   대부분의 소스코드가 공개되어 있으므로 프로그램의 오류를 빠르게 확인하여 패치가능

7. 폭넓은 하드웨어 장치 지원

8. 저수준 하드웨어로 구성된 시스템의 사용 가능
 - 소스코드 공개로 인해 사용자가 시스템 최적화 가능, 따라서 저수준 하드웨어를 갖춘시스템에서도
   최적의 성능 발휘 가능

9. 시스템의 높은 신뢰성
 - RAID 기능과 로컬 또는 인터넷을 통한 다양한 백업 장식 지원

10. 가격 대비 탁월한 성능

참고도서 : CentOS 리눅스 구축관리실무 - 정우영 저