1. 서문1.1. 서문 이 문서에서는 리눅스 커널을 구성하는 각 부분을 정의하고 그 부분을 수행하는 주된 함수와 자료 구조, 그리고 이들이 어떻게 동작하는지 (how the "wheel spins") 를 설명하려고 한다. 이 문서의 최신 버전은 http://www.bertolinux.com 에서 찾아볼 수 있다. 이 문서에 대한 개선점이나 제안 사항이 있다면 당신의 아이디어를 다음의 메일 주소를 통해 보내주기 바란다: 1.2. 저작권 정보Copyright (C) 2000,2001,2002 Roberto Arcomano. Copyright (C) 2003 김남형 (한국어판). 본 문서는 여러분이 자유 소프트웨어 재단(Free Software Foundation)에서 발행한 GNU 라이브러리 일반 공개 사용권(GNU Library General Public License)의 규정(즉 사용권 2판이나 혹은 여러분의 선택에 따라 더 이후의 사용권)을 준수하는 한 재유포하거나 수정할 수 있는 자유 문서이다. 본 문서는 이것이 유용하게 사용되기를 바라는 마음으로 배포하는 것이지만, 그에 대한 어떠한 보증도 하지 않는다: 상업적인 용도나 특정한 목적에 맞게 사용 했을때 의무적으로 따라 붙는 보증도 없다. 더 자세한 내용은 GNU 라이브러리 일반 대중 사용권 (GPL) 에 대해 보기 바란다. GNU GPL 의 복사본은 여기 에서 얻을 수 있다. 1.3. 번역에 관하여당신이 이 문서를 번역하는 것은 자유이다. 하지만 그전에 다음과 같은 사항들을 참고해야 할 필요가 있다:
번역을 위해서 나에게 질문을 할 필요는 없다. 그저 당신의 번역물에 관해 (당신이 원한다면) 내가 알 수 있게만 해주면 된다. 당신의 번역에 감사한다! 2. 사용된 문법2.1. 함수의 문법함수에 대해서 설명할 때는 다음과 같은 형태로 표기한다:
예를 들어:
라는 표현이 있을 때 이것은 우리가 지금
이라는 함수에 관해서 설명하고 있음을 나타내며, 이 함수는
라는 파일에서 찾아볼 수 있음을 뜻한다.
2.3. 함수간 호출 분석 (InterCalling Analysis)2.3.1. 개요이 문서에서는 커널 함수들의 호출 관계를 표현하기 위해 (들여쓰기의 방식으로) "함수간 호출 분석 (InterCalling Analysis : ICA)" 을 사용한다. 예를 들어
들여쓰기로 표현된 함수간 호출 분석 뒤에는 함수의 위치가 나온다:
2.3.2. 세부사항함수간 호출 분석에서 다음과 같은 형태가 있을 것이다:
이것은 또 다음과 같은 형태에서는:
이 문서에서는 많은 절에서 C 코드의 형태나 슈도-코드 의 형태로 표현하였다. 실제의 소스 파일에는 이것들이 어셈블러 코드나 구조화 되지 않은 코드의 형태로 들어있을 수도 있다. 이러한 차이점은 학습을 위한 것이다. 2.3.3. 함수간 호출 분석의 장점함수간 호출 분석 (ICA) 를 사용하는데 있어서 다음과 같은 많은 장점들이 있다:
2.3.4. 함수간 호출 분석의 단점함수간 호출 분석 (ICA) 를 사용하는데 있어서 다음과 같은 단점들이 있다:
3. 기초적인 내용3.1. 커널이란 무엇인가?커널이란 컴퓨터 시스템의 핵심(core) 부분을 말한다. 즉, 컴퓨터의 자원들을 사용자가 공유할 수 있도록 해주는 소프트웨어 이다. 커널은 (그래픽을 이용한 관리 프로그램도 포함할 수 있는) 운영체제의 주요 소프트웨어라고 생각할 수 있을 것이다. 예를 들어, (다른 Unix 기반의 운영체제와 같이) 리눅스에서는 X 윈도우 환경은 커널에 속해있지 않다. 왜냐하면 X 윈도우 환경은 오직 그래픽 연산 만을 관리하기 때문이다. (비디오 카드 장치에 접근하기 위해서 사용자 모드의 I/O 를 사용한다.) 대조적으로 윈도우즈 환경 (Win9x, WinME, WinNT, Win2K, WinXP 등) 에서는 커널과 그래픽 환경이 혼합되어 있다. 3.2. 사용자 모드와 커널 모드3.2.1. 개요(컴퓨터가 방 한개를 차지할 만큼의 크기였던) 예전에는 사용자들이 응용 프로그램을 실행시키는 것도 무척 힘든 일이었고, 때때로 응용 프로그램이 컴퓨터를 망가뜨리기도 하였다. 3.2.2. 동작 모드위와 같이 응용 프로그램이 시스템을 망가뜨리는 것을 방지하기 위해, 이후의 운영체제들은 2 가지의 다른 동작 모드를 갖도록 디자인되었다.
|
Many changes of mind and mood; do not hesitate too long. |