book.naver.com/bookdb/book_detail.nhn?bid=16317946
*해당 글은 학습을 목적으로 위의 도서 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다.
상세한 내용 확인을 원하신다면 도서 구매를 추천드립니다.
리눅스
- 1991년 리누스 토발즈에 의해 오픈소스로 개발되었다.
- 개인용 컴퓨터, 서버, 메인프레임, 모바일기기, 임베디드 기기를 위한 유닉스 호환 운영체제
리눅스 특성
1) 이식성
- 대부분의 코드가 C언어로 작성되어 있어 다양한 하드웨어에 쉽게 이식이 가능
2) Free Software
- 단일 기업에 의해 운영되지 않고 전세계 개발자들의 기여로 진화한다.
- 리눅스의 소스코드는 자유롭게 사용, 수정, 배포가 가능하다.
- 단, 수정된 프로그램의 복사본은 언제나 소스코드와 함께 배포된다.
3) Multi User
- 다수의 사용자가 네트워크를 통해 한 시스템의 자원에 접근하여 사용할 수 있다.
4) Multi Programming
- 다수의 프로그램을 동시에 실행할 수 있다.
5) 계층적 파일 시스템
- 표준화된 파일 시스템 존재
- tree 명령어 사용시 트리 구조로 조회 가능.
6) Shell
- 리눅스의 다양한 기능을 수행할 수 있도록 명령어 기반 프로그램 제공
- 명령어 해석 기능, 프로그래밍 기능, 사용자 환경 설정 기능 제공
7) 보안
- 유닉스와 마찬가지로 DAC을 제공하고 Extended DAC 또한 제공
- IPSec을 사용해 안전한 데이터 송수신 가능
- MAC을 강화한 SELinux가 존재한다.
DAC : 자원의 소유자가 접근권한을 설정할 수 있다.
MAC : 관리자만이 접근권한을 설정할 수 있다.
리눅스의 기술적 특징
1) 모놀리딕 커널
- 운영체제가 제공하는 서비스를 하나의 커널로 구현하여 제공하는 방식
- 단일 커널로 운영되기에 커널에 포함된 일부 기능 변경시 커널을 다시 컴파일 해야 한다.
- 리눅스는 기본적으로 모놀리딕 커널이지만 동적 로드가 가능한 커널 모듈과 동적 설정을 위한 프로퍼티 기능 제공을 통해 커널의 유연성을 확보한다.
2) 장치의 파일화
- 리눅스는 시스템을 모두 파일로 다룬다.
- 장치의 유형에 따라 문자 장치 파일, 블록 장치 파일 등의 장치 파일을 제공한다.
- 프로세스 간 통신을 위해 파이프 파일을 제공
- 응용 프로그램의 소켓 프로그래밍을 가능하게 하기 위해 소켓 파일 제공
3) 다양한 파일 시스템 지원
- ext 2, 3, 4 같은 리눅스 자체 파일시스템 제공
- FAT32, NTFS와 같은 윈도우용 파일시스템도 제공하며, 네트워크 파일 시스템인 SMB, CIFS의 파일시스템도 지원
- 시스템 충돌 및 전원 문제로 복구 가능한 저널링 파일시스템을 지원한다. (EXT3)
4) 가상메모리
- 프로세스들이 접근하는 메모리를 가상 메모리에 매핑하고, 가상 메모리는 페이지를 통해 물리 메모리에 매핑
- 물리적인 메모리의 크기를 극복하기 위한 메모리 관리 기법
- 각 페이지에 대한 보호 매커니즘, 메모리 매핑, 프로세스간 공유 메모리 기능 제공
*페이징 : 동작중인 프로세스가 사용하는 메모리를 물리 메모리에 로드해, 사용빈도가 낮은 메모리는 디스크에 저장
5) 스왑
- 물리 메모리 사용량이 가득 차 프로그램을 메모리에 로드할 수 없을 경우 사용
- 메모리에 대한 접근 또는 실행 빈도가 낮은 데이터와 프로그램들을 디스크로 옮겨 물리 메모리를 확보하여 효율적인 메모리 활용이 가능하다.
- 동적으로 스왑의 크기를 조절할 수 없어 하드디스크의 공간을 차지하는 단점이 있다.
*스왑 아웃 : 디스크로 옮기기
*스왑 인 : 디스크에서 다시 메모리로 옮기기
*스왑 공간 : 스왑을 위한 디스크 상의 공간
*스왑 파티션 : 최대 절전 기능 사용을 위해 사용
*스왑 빈도 변경을 위해서는 /etc/sysctl.conf의 vm.swapiness를 설정
*free 명령어 사용시 스왑 영역 용량 확인 가능
6) 동적 라이브러리, 정적 라이브러리
- 동적 라이브러리 : 메모리에 한 번 적재하면 여러 프로세스가 공용으로 사용할 수 있는 라이브러리
- 정적 라이브러리 : 프로세스가 실행될 때 같이 메모리에 로드되어, 메모리에 중복으로 상주하는 메모리
- 동적 라이브러리는 실행 파일의 크기가 작아 메모리를 효율적으로 사용할 수 있다.
- 동적 라이브러리는 실행 속도가 느리고 배포에 제약이 존재한다.
- 정적 라이브러리는 실행 속도가 빠르고 배포에 제약이 없다.
- 정적 라이브러리는 실행 파일의 크기가 크다.
7) 파이프
- 프로세스의 출력을 다른 프로세스의 입력으로 보내는 프로세스간 통신 방식
- 터미널에서 ‘|’로 사용한다.
8) 리다이렉션
- 프로세스의 표준 입출력을 파일, 화면, 장치 등에서 입력 혹은 출력할 수 있도록 IO 장치를 재지정하는 매커니즘
9) 가상 콘솔
- 하나의 화면에서 여러 개의 콘솔을 사용할 수 있는 기능 제공
리눅스의 장단점
장점
- 오픈소스이기 때문에 경제적이다.
- 전세계 개발자들이 참여해 운영체제를 더욱 안정적으로 개선하고 보안성을 가강화한다.
- 다양한 네트워크 환경을 지원하며, 여러 네트워크 프로토콜도 지원한다.
- 서버, 개발, pc용 등 다양한 목적으로 사용할 수 있고, 이에 따라 다양한 배포판이 존재한다.
- 특정 하드웨어에 맞게 커널의 기능을 더하거나 덜어내 커스터마이징도 가능하다.
단점
- 단일 기업에서 운영하지 않아 체계적인 기술지원 네트워크가 없다.
- 오픈소스 소프트웨어가 풍부하지만 상용 소프트웨어가 부족하다 (MS Office 등)
- 최신 하드웨어 기기에 대한 디바이스 드라이버 지원이 느리다.
GNU GPL 라이선스
- 리눅스는 GNU GPL 라이선스를 가져 누구나 소스코드를 자유롭게 사용하고 변경, 배포가 가능.
- GNU GPL에 따라 배포되는 소프트웨어를 자유 소프트웨어라고 부른다.
- 누구나 자유롭게 복제, 변경, 배포가 가능하지만 GPL 라이선스를 함께 배포해야 한다.
GNU (GNU IS NOT LINUX)
- 리차드 스톨만을 주축으로 자유 소프트웨어를 개발자들이 모여 공동체를 형성하고 개발
- 유닉스 호환 자유 소프트웨어를 개발하는 프로젝트
- gcc, emacs, GNOME, tar, bash, Grub 등이 있다.
자유 소프트웨어
- 프로그램을 어떠한 목적을 위해서도 실행 가능
- 프로그램의 작동 원리를 연구하고 이를 자신의 필요에 맞게 변경 가능
- 이웃을 돕기 위해 프로그램의 복제 및 배포 가능
- 프로그램을 향상하고 전체의 이익을 위해 다시 환원 가능
카피레프트
- 자유 소프트웨어를 사용자가 자유롭게 사용할 수 있도록 법률적 보장을 위해 만들어진 개념.
- 카피레프트를 실제로 구현한 라이선스가 GNU GPL 라이선스
오픈소스
- SW나 HW의 저작자 권리를 지키며 원시 코드를 누구나 열람할 수 있도록 한 SW
- 1998년 팔로 알토에서 열린 전략회의에서 처음 사용
- 1998년 오픈소스 소프트웨어를 장려하기 위해 OSI가 설립됨
- 오픈소스와 자유 소프트웨어는 전체적으로 비슷하다. 다만 오픈소스는 소스만 공개만한다는 의미로 취중되어 있다.
*자유 소프트웨어와 오픈소스는 다름 주의
GPL 라이선스
- GNU 프로젝트로 배포된 프로그램의 라이선스로 이용하기 위해 자유 소프트웨어 재단에서 만든 자유소프트웨어 라이선스.
- 실행, 연구, 수정, 공유의 자유를 보장한다.
- 카피레프트를 구현한 라이선스이다.
- GPLv1, GPLv2, GPLv3로 구성된다.
*GPLv1 : 바이너리 형태로 배포할 때는 사람이 이해 가능한 소스코드를 함께 배포
*GPLv2 : 특정 이유로 소스코드 공개를 불허한다면 바이너리도 공개하지 말 것
*GPLv3 : DRM 등의 관련 내용 추가
LGPL 라이선스
- GPL의 조건을 완화시켜 전염성을 완화시킨 라이선스
- LGPL 프로그램의 소스코드를 이용해 만든 프로그램의 판매, 배포 시 프로그램 소스 공개의 의무가 없고 LGPL 소스코드를 사용했음을 명시한다.
- 단 수정 시에는 전체 코드 공개
- 독점 SW와 결합이 가능하다.
- LGPL 프로그램의 소스코드로 개발해 GPL로 변경은 가능하나 반대는 불가능하다.
BSD 라이선스
- 설정된 조항을 준수하는 경우 누구나 프로그램을 수정하여 배포할 수 있다.
- 소스코드 공개의 의무가 없다.
- BSD 라이선스의 소프트웨어를 이용시 저작권자와 BSD 라이선스의 내용을 함께 배포
- 독점 소프트웨어와 결합시 소스의 저작권자를 표기하면 소스코드는 공개하지 않아도 됨.
아파치 라이선스
- 누구나 아파치 라이선스가 적용된 소프트웨어에서 파생된 프로그램을 제작하고 저작권 양도가 가능하다.
- 누구나 자유롭게 아파치 소프트웨어의 소스코드를 상업적 목적으로 사용 가능
- 재배포 시 원본 소스코드 또는 수정한 소스코드를 반드시 포함하지 않아도 된다.
- 아파치 라이선스를 따른다는 사실은 명시해야 한다.
MPL 라이선스
- BSD 라이선스와 GPL 라이선스의 혼합
- 소스코드 수정 시 수정한 소스코드를 공개해야 한다.
- MPL 소스코드와 혼합하여 다른 프로그램 개발 시 MPL 소스코드 외의 소스코드는 공개하지 않아도 된다.
MIT 라이선스 (X11 라이선스, X 라이선스)
- GNUN GPL 라이선스의 엄격함을 피할 수 있다.
- BSD 라이선스를 기초로 작성되었고 카피레프트가 아니다.
*L이 붙으면 2차 소스코드가 공개되거나 공개해도 된다고 보면 됨.
리눅스 배포판의 종류
슬랙웨어
- 가장 오래된 배포판
- 가장 유닉스와 유사한 리눅스 배포판
SlackWare | -가장 먼저 대중화된 현존하는 가장 오래된 배포판 -간결함을 설계 철학으로 하여 유닉스 자체 학습에 적합하다. |
openSUSU | -슬랙웨어에서 파생되어 독일에서 제작하고 유럽에서 사용한 배포판. -유료 라이선스인 SUSE와 무료 라이선스인 openSUSU가 있다. |
Vector Linux | -슬랙웨어 계열 운영체제 |
데비안
- 기업, 재단보다는 자발적 커뮤니티에 의한 배포판
- APT 패키지 관리자 덕에 패키지 설치 및 업그레이드가 편리
Ubuntu | -캐노니컬 유한회사에서 개발한 배포판 -전세계 누구나 리눅스를 쉽게 사용하자는 미션을 바탕으로 사용자 편의성에 초점 |
Raspbian | -라즈베리파이 재단에 의해 공식 지원을 받는 라즈베리파이 전용 리눅스 |
Chrome OS Chrominum oS |
-구글이 설계하고 개발한 웹 어플리케이션 전용 운영체제 -사용자가 인터넷을 탐색하는데 대부분의 시간을 보낸다는 점을 고려하여 개발한 운영체제 |
레드햇
- 고객 유료 서비스를 통한 수익 창출을 추구
- 일반 사용자를 위한 무료 배포판인 페도라 제공
Fedora | -레드햇의 후원과 페도라 커뮤니티의 지원 아래 범용 목적으로 개발된 무료 배포판 -RPM 기반의 소프트웨어가 결합된 리눅스 배포판 |
RHEL | -페도라를 기반으로 개발. 안정성을 목적으로 제작되었으며 유료 라이선스 |
CentOS | -RHEL을 완벽하게 호환하여 무료 기업용 컴퓨팅 플랫폼 제공 목적으로 개발된 리눅스 배포판 |
Oracle Linux | -GNU GPL 라이선스에 따라 레드햇 소스코드를 공유하며 오라클의 어플라이언스에 최적화된 배포판 |
Scientific Linux | -RHEL기반의 자유 및 오픈소스 운영체제고, 페르미 국립 가속기 연구소가 개발 |
1. 리눅스가 다양한 분야에서 사용되어지게 된 성공요인이 아닌 것은?
1) 무료배포를 전제로 한 공유와 나눔의 철학적 배경
2) 소스코드 공개를 통한 여러 개발자들의 기능개선 참여1
3) 기술의 폐쇄성을 무기로 한 독점 소프트웨어에 대한 반발 심리
4) 윈도우즈 시스템과의 호환성 확대 및 관리미숙으로 인한 시스템 문제에 대한 보상체제 확립
4
2. 리눅스의 특징에 대하여 틀린 설명은?
1) 리눅스는 Shareware로 배포된다.
2) 리눅스는 배포본 제작에 소요되는 비용을 받기도 한다.
3) 리눅스는 누구나 수정할 수 있다.
4) 리눅스는 소스코드가 공개되어 있다.
1
3. 리눅스의 특징으로 틀린 것은?
1) 리눅스는 약간의 어셈블리어와 대부분의 C언어로 작성되었다.
2) 다중 사용자 접속 및 다중 처리 시스템을 지원한다.
3) 커널을 제외한 나머지 프로그램들의 소스가 공개되어 있다.
4) 고유 파일시스템 외 DOS, 윈도우, 유닉스 등의 파일 시스템을 지원한다.
3
4. 다음에서 설명하는 파일시스템은?
---------------------------------------
1993년 SGI에서 개발한 저널링 파일
시스템으로 리눅스 커널 2.4.20에
포함되었다.
---------------------------------------
1) ext3
2) ext4
3) JFS
4) XFS
4
5. 상업적인 목적을 위한 마케팅의 일환으로, 일정 기간 무료로 사용하거나 부분적 제한을 두고 배포를 허용하는 소프트웨어는?
1) 오픈소스
2) 카피레프트
3) 쉐어웨어
4) GPL
3
6. 다음 중 저작권이 없는 소프트웨어는?
1) 자유 소프트웨어
2) 카피레프트 소프트웨어
3) 공용 소프트웨어
4) GPL 소프트웨어
3
7. BSD 라이선스에 대한 설명으로 틀린 것은?
1) 무료 이용과 자유로운 배포가 가능하다.
2) 소스 코드 취득 및 수정이 가능하다.
3) 2차 저작물의 소스코드의 비공개가 가능하다.
4) 독점 소프트웨어와 결합할 수 없다.
4
8. 2000년 8월 인텔, IBM, 후지쯔 등의 출자를 통해 설립된 기업 환경에 맞는 리눅스 개발을 목적으로 하는 비영리 리눅스 법인은?
1) FSF
2) OSDL
3) GNOME
4) INFORMIX
2
9. GPL에 대한 설명으로 틀린 것은?
1) FSF에 의해 만들어진 특별한 라이센스이다.
2) GNU 정신에 입각해 모든 프로그램의 소스를 공개하는 목적이다.
3) 프로그램을 마음대로 배포, 복사, 수정할 수 있으며 수정한 프로그램 역시 GPL 라이선스를 따른다.
4) GPL 프로그램을 수정하여 50% 이상의 변경이 있으면 독점적인 소프트웨어 라이선스를 부여한다.
4
10. 다음 설명에 해당하는 라이선스로 알맞은 것은?
공개 소프트웨어 중 하나를 선택하여 상업용 제품을 만들려고 한다.
수정된 소스 코드에 대한 공개나 어떠한 표시도 하지 않으려고 한다.
BSD
'자격증 > 리눅스 마스터 1급' 카테고리의 다른 글
리눅스마스터_1급_1과목_Shell (0) | 2021.02.07 |
---|---|
리눅스마스터_1급_1과목_X 윈도우 (0) | 2021.02.07 |
리눅스마스터_1급_1과목_리눅스의 구조 (0) | 2021.02.07 |
리눅스마스터_1급_1과목_리눅스와 하드웨어 (0) | 2021.02.07 |
리눅스마스터_1급_1과목_운영체제 (0) | 2021.02.07 |