본문 바로가기

--Kloong--/Linux Master

Linux Master 1 - 시작. 리눅스의 개요(1)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요 거의 반년만에 돌아온 Kloong 입니다

하 1학년 때 신나게 놀다가 2학년 때도 똑같이 놀다보니 학업 따라가는게 힘들어서

학업에 쫓기느라 블로그 관리할 시간이 전혀 없었습니다.

시험 끝나고서는 놀고 밴드부 연습하고 하니 시간이 다 가고

방학은 정말로 쓸데없이 다 날려버리고 오늘부로 8일 남았네요 에휴

그래도 시작이 반이라고 했습니다. 늦게나마 시작했으니까 즐거운 마음으로 공부해서 꼭 붙을래요 리눅스 마스터

나름 국가 공인 자격증이라 따면 기분 좋을 것 같네요 ㅋㅋ 작년에 딴 Comtia Network +는 국가 공인이 아니라고 하니 ㅠ

이론부터 공부하면 꽤 오래 걸릴 것 같습니다. 대충은 다 아는 내용이지만 그래도 다시 공부하고싶어서 처음부터 해봅니다.

공부에는 관심 없고 자격증만 따시려는 분은 그냥 기출문제만 몇개 풀어보시면 따기 쉽다고 합니다.

암튼 정리도 하고 블로그 관리도 하고 지식도 나누고 일석삼조라서 포스팅 하게 됬습니다.

제가 사용하는 책은 바로


리눅스 마스터 2급

저자
한국정보통신인력개발센터 지음
출판사
사이텍미디어 | 2005-03-14 출간
카테고리
컴퓨터/IT
책소개
기존의 리눅스마스터2급 수험서를 기본으로 하고 여기에 최신의 내...
가격비교

이 아이입니다.

하 출간 날짜를 보시면 아시겠지만 2005년 내용이라서 최신 내용따위 개뿔도 없습니다.

근데 시험도 최신 내용을 크게 반영하지는 않는다고 들어서 걍 얘로 하렵니다.

오늘은 리눅스의 개요부터 들어갈게요 ㅋ


1. 리눅스의 탄생

최초의 리눅스는 1991년 리누스 토발즈라는 대학생이 만든 컴퓨터 운영체제입니다.

리누스 토발즈는 UNIX와 호환되는 공개된 운영체제를 만들기로 계획하고 초기버전 0.01을 만들게 됩니다.

0.01버전은 가장 기본적인 커널만을 포함하고 있었다고 합니다.


--여기서 커널이란?

커널은 간단하게 설명하자면 운영체제에서 하드웨어와 가장 밀접한 부분입니다.

사용자가 어떤 명령을 내리면 쉘이 명령어를 해석해서 커널에게 가져다줍니다.

그러면 커널은 그 명령어를 가지고 하드웨어를 제어해서 명령을 수행하게 되는 것입니다.

가장 기본적인 커널을 포함하고있었다고 하니 뭐 CPU,메모리,hdd 등 중요한 하드웨어 제어기능만 탑재하고 있었나봅니다.


초기 리눅스는 i386 계열에서만 사용가능했다고 합니다. 다른 하드웨어와는 호환이 안되는거죠.


2. 리눅스의 특징과 기능

얘는 자세한 설명까지 하면 너무 기니까 간단하게 넘어갈께요.

 1) 다중 사용자 시스템

하나의 시스템에 다수의 사용자들이 동시에 접속할 수 있습니다.

 2) 다중 처리 시스템

여러 개의 응용 프로그램을 동시에 동작시킬 수 있습니다.

 3) 뛰어난 신뢰성

이미 충분히 인증받고 실무에서 많이 사용된 UNIX를 기반으로 만들어져서 시스템 자원을 효율적으로 사용합니다.

 4) 폭 넓은 하드웨어 지원

LINUX는 운영체제 커널의 소스가 공개되어 있기 때문에 하드웨어 지원이 필요한 경우

전문적인 사용자들에 의해 직접 하드웨어 드라이버가 제작되고 추가되어서 널리 알려진 하드웨어는 대부분 지원합니다.

즉 호환성이 매우 좋다는 뜻이죠.

 5) 뛰어난 보안성

위 4번의 특징처럼 LINUX는 운영체제 커널의 소스가 공개되어있기 때문에 다른 상용 OS와는 달리

버그와 보안 결점의 보고와 그에 관련된 패치가 매우 빠른 시간 내에 이루어져왔다고 하네요.

실제로 PING과 관련된 보안 결점이 발견되었을 때 Window NT의 경우에는 서비스가 불가능할 지경에 이르러서야

패치를 했지만 LINUX는 단 4시간만에 보고되고, 패치까지 마쳤다고 하네요.

커널이 공개됬다는 특징 때문에 수많은 전문 프로그래머들의 피드백을 받을 수 있다는 장점을 갖고 있습니다.

 6) 다양한 배포판

RedHat, Debian 등 수많은 배포판등이 존재하기 때문에

사용자는 자신의 편의에 맞춰 배포판을 선택하여 사용할 수 있습니다.

 7) 다양한 네트워킹 기능

Ethernet, FDDI, ISDN, xDSL, HAM(아마추어 무선 통신) 등의 수많은 네트워킹 기능을 사용하기 위한 드라이버를 지원하고

서로 다른 시스템(운영체제)간에 통신을 할때 다리 역할을 할 수 있다고 합니다.

물론 FTP, 메일 서버, 웹서버 등도 지원하죠.

 8) 다양한 파일 시스템 지원

일반적으로 운영체제는 자기 고유의 파일 시스템만을 지원하기 때문에 다른 시스템의 데이터는 읽을 수 없습니다.

하지만 LINUX는 일반적으로 사용되는 다른 운영체제의 파일 시스템들도 어느정도 지원합니다.

대표적으로 FAT, VFAT, NTFS, ISO9660(CD-ROM), 등을 지원하죠. (LINUX는 EXT2, EXT3, EXT4를 사용합니다.)

 9) 풍부한 응용 프로그램의 제공

LINUX는 기본적으로 X Window를 제공하고 다양한 서버와 개발 도구들도 사용할 수 있습니다.

 10 ) SMP와 NUMA 지원

뭔지는 정확히 모르겠지만 CPU의 프로세스 다중 처리 관련 내용인 것 같습니다.


3. 리눅스의 신뢰성

서버 운영체제라는 관점에서의 신뢰성은 두가지로 나눌 수 있다.

서버의 데이터를 얼마나 신뢰성 있게 보존할 수 있는가? 사용자가 요구하는 기능을 얼마나 신뢰성 있게 제공하는가?

LINUX는 데이터 보호를 위해 RAID 라는 아이를 지원합니다.

이 책에서는 RAID 관련 내용이 자세하게 나와있지 않기 때문에 Comtia Network + 책을 참고했습니다.

RAID가 뭐냐면 저장된 데이터를 보호하고 효율적으로 사용하기 위해서 하드디스크들을 묶는 겁니다.

원래 RAID는 하드웨어를 통해서 이루어졌으나 소프트웨어의 발달으로 운영체제에서 구현이 가능해졌습니다.

LINUX에서는 RAID 0, RAID 1, RAID 5 를 지원합니다.

 1) RAID 0

Striping 이라고 합니다. 하드 디스크 컨트롤러를 통해서 하드 디스크에 입력되는 데이터를

64KB의 블록으로 쪼개 여러 하드 디스크에 나누어서 저장합니다.

데이터가 손실되었을 때 복구는 불가능하지만 여러 디스크를 효율적으로 사용이 가능해서

데이터 입출력 면에서는 RAID 중에서 최고 성능을 자랑한답니다.

데이터 손실에 대비를 할 수 없으므로 사실상 서버에서는 사용 할 수 없다고 하네요.

 2) RAID 1

Mirroring 이라고 합니다. 단어 뜻처럼 한 디스크에 쓰이는 내용을 다른 디스크에 똑같이 쓰는겁니다.

어떤 디스크의 데이터에 손실이 생겨도

다른 디스크에 있는 데이터로 손실된 데이터를 복구해서 서비스를 지속 합니다.

단순하고 간단하게 데이터 손실에 대비할 수 있지만 데이터를 여러번 입력해야 해서 자원 손실이 큰 편입니다.

 3) RAID 5

Striping with Distributed Parity 라고 합니다. Mirroring처럼 입력된 데이터를 그대로 쓰지 않고

Parity bit라는 오류 제어 정보를 저장해놨다가 데이터 손실이 생기면 저장된 Parity bit로 데이터를 복구합니다.

또 데이터의 입출력 과정 때 자동으로 에러를 수정해줍니다.

RAID 3 에서도 똑같이 Parity bit를 사용하지만 RAID 3은 한 디스크에만 Parity bit를 저장하므로

그 디스크가 고장나버리면 의미가 없어지지만 RAID 5 에서는 Parity bit를 여러 디스크에 나눠서 저장하므로

RAID 3 보다 데이터 손실에 훨씬 더 안정적입니다.


또 LINUX에서는 데이터의 신뢰성있는 보존을 위해서 저널링 파일 시스템을 사용합니다.

저널링 파일 시스템이란 (솔직히 내가 이 내용을 설명한다는 것은 불가능해서 간단하게 말하자면)

데이터를 저장할 때 로그를 기록하여서 데이터 저장 도중에 정전과 같은 급작스런 일에 의해서 강제로 종료되어도

빠른 속도로 데이터를 자체 복구할 수 있게 하는 파일 시스템입니다.

따로 파일 복구 프로그램을 사용하지 않아도 되고 속도도 빠른데다가 에러 복구율도 높다고 하네요.

리눅스에서 사용하는 파일 시스템 EXT2, EXT3 중(옛날 책이라 EXT4는 안나오네요) EXT3이 저널링 파일 시스템에 속하고

EXT3의 업그레이드 버젼이 EXT4라고 합니다.


4. 사용성과 관리성

LINUX는 사용자의 편리한 관리를 위해서 다양한 형태의 GUI 환경을 지원하는데 KDE, GNOME 등이 있습니다.

또 고효율의 원격 접속을 지원해서 멀리 떨어진 곳에서도 서버를 손쉽게 관리할 수 있습니다.


와우 이론이 정말로 기네요 아 힘들었어요

그래도 쫙 훑어보니 꽤 보람차네요 ㅋㅋ

오늘은 이만 하겠습니다