관리 메뉴

밤색모자이크의 개발이야기

1. 리눅스(Linux) 소개 본문

책 공부 정리/리눅스 커널 내부 구조

1. 리눅스(Linux) 소개

밤색모자이크 2017. 4. 27. 10:52

1. 리눅스의 탄생

  핀란드 헬싱키 대학에서 전산학을 전공하던 리누스 토발즈(Linus Benedict Torvalds)는 1988년에 386 보호모드에서 두 프로그램 A와 B를 스위치하는 작업 전환기를 만들었습니다. 이걸 시작으로 페이징, 타이머 인터럽트 핸들러, 파일시스템 등을 만들어서 1991년 8월 26일 리눅스 0.0.1를 만들게 되었습니다.

  그 뒤 1991년 10월 5일, 첫 번째 공식 버전인 0.0.2를 세상에 발표하였습니다. 그리고 여기에 리차드 스톨만(Richard M. Stallman)이 설립한 자유 소프트웨어 재단(Free Software Foundation : FSF)이라는 단체의 GNU(Gnu is Non Unix) 프로젝트가 합세하면서 전 세계 프로그래머들과 함께 만든 현존하는 최고의 OS인 Linux가 탄생하게 되었습니다.

 

2. 유닉스와 리눅스

  리눅스는 유닉스 계열의 운영체제입니다. 유닉스(UNIX)는 1969년 벨 연구소 켄 톰슨(Ken Thompson)과 데니스 리치(Dennis Ritchie)가 만든 운영체제입니다. 유닉스는 생명을 제공하는 태스크과 장소를 제공하는 파일이라는 두 가지 객체로 모든 것을 지원합니다.

  대부분의 소스코드가 C언어로 작성되어있고, 모든 소스가 오픈되어있습니다. 그 결과 학교, 연구소, 기업에서 많은 환영을 받아 다양한 이름의 유닉스 계열의 운영체제가 발표되었습니다. 밑에 그림이 현재 유닉스 계열의 운영체제를 보여줍니다.


유닉스 계보 [ 출처 : 위키백과 ]


1986년 CMU에서 개발된 Mach는 마이크로 커널을 채택하였습니다. 마이크로 커널은 꼭 필요한 기능한 커널 수준으로 포함하고 나머지는 사용자 수준에서 동작하는 서버로 구현하는 커널입니다. 이러한 커널은 신뢰성, 이식성, 확장성이 좋아지면서 Windows NT 등도 마이크로 커널을 따르게 됩니다. 하지만, 리눅스의 경우 모노리딕 구조입니다. 여기에 모듈을 도입하여 마이크로의 장점을 살린 운영체제입니다.

 

3. 리눅스 배포판

  커널이란 항상 메모리에 상주하면서 동작하는 운영체제의 핵심 부분으로 코어(core) 혹은 뉴클리어스(nucleus)라고 불리고, 시스템프로그램은 라이브러리, 컴파일러, 파일 관련 명령어, 태스크 관련 명령어, 네트워크 관련 명령어, 시스템 관리 명령어 등 입니다.

  커널만 가지고는 운영체제로서의 의미를 제데로 말할 수는 없습니다. 시스템 프로그램없이는 운영제체도 역시 아무런 일도 수행하지 못합니다. 실제 우리가 접하는 리눅스는 배포판으로 공개된 OS들입니다. 대표적으로 레드헷, 페도라, 우분투 등 이 존재합니다.

 

4. 리눅스의 장점

1) 사용자 임의대로 재구성이 가능하다

2) 열악한 환경에서도 하드웨어의 자원을 적절히 활용하여 동작한다.

3) 커널의 크기가 작다.

4) 완벽한 멀티유저, 멀티태스킹 시스템

5) 뛰어난 안정성

6) 빠른 업그레이드

7) 강력한 네트워크 지원

8) 풍부한 소프트웨어

9) 사용자를 위한 여러 가지 공개 문서들

 

하지만, 신뢰성 측면에서 부족한 점이 언급되고있다. 이러한 문제점들은 개발자의 몫이다.

"It's under your control"

소스 자체가 오픈되어있다. 맘에 안들면 바꾸면된다.

이 책은 그러한 사람들의 위한 책이다.



첫 번째 챕터를 요약하였습니다.

마지막 문귀대로 저런 사람들이 됬으면 좋겠네요. ㅜㅜ



참고 문헌

리눅스 커널 내부구조
국내도서
저자 : 백승재,최종무
출판 : 교학사 2008.09.20
상세보기

유닉스 계보 이미지 링크 : https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4#/media/File:Unix_history-simple.svg



Comments