부팅과정 & 프로세스 전이 설명하기?

ksj0822의 이미지

학교에서 부팅과정과 프로세스 전이에 대해서 설명하라고 하더라구요
대충 찾아 봤거든요?

---------------------------------------------------------------------------

power on -> Rom Bios에서 지정된 부팅 드라이브로 부팅 시작
-> 부팅 드라이브의 첫번째 섹터인 부트 섹터 읽어 드림
-> 부팅 섹터의 부팅 프로그램인 부트로더(grub, lilo) 작동
-> 커널 이미지(/boot/vmlinuz-2.4.18-14) 적재
-> 루트 파일 시스템(root filesystem) 마운트
-> 시스템 초기화 프로세스 (init) 작동
-> login 프롬프트

* 최초로 실행되는 프로세스 (init)
init는 가장 먼저 실행되는 프로세스이며 부팅시에 커널이 마지막으로 종료하는 프로세스이다.
init는 시스템 시작에 필요한 작업을 수행함으로서 부팅 과정을 계속이어 나간다.

* 터미널 초기화 프로세스 (getty)
시스템이 가동된 후에는 getty(사용자 로그인을 할 수 있도록 터미널 초기화 함)가 제대로 작동하는지를 확인하며,
또한 고아 프로세스를 인수하는 역할을 맡는다.
이것은 아주 중요한 역할로 모든 프로세스는 리눅스 시스템에서 하나의 트리 구조를 이루도록 유지를 해준다.
간단히 프로세스 트리 구조를 보려면 pstree라는 명령어를 루트의 권한으로 실행하면 된다.

init, telinit - 모든 프로세스의 부모 프로세스며 /etc/inittab 스크립트에 따라 처리를 한다.
getty - 터미널모드, 스피드, 라인 수 등을 세트한다. 프로세스 중에 init 다음으로 실행되며 3번째 프로세스는 사용자가 로긴할 수 있도록 초기화해주는 login 프로세스이다.

---------------->>
inittab에서
:
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
:

그뒤에 로그인을 하면 /etc/passwd 에서 설정된 쉘이 뜨며 스크립트가 실행된다.

--------------------------------------------------------------------------
질문 들어 갑니다.
1. 우선 윗글의 내용이 맞는지 여부..^^

2. init -> getty -> 그다음엔? 뒷부분 설명이 부족합니다.

3. init프로세스는 실행할 때 inittab을 참고한다던데 어디서 확인할 수 있죠?
막말로 init 프로그램 소스를 뒤져야 하나요?

4. 부모프로세스? 고아 프로세스?

5. inittab에서 mingetty가 getty 프로세스 프로그램인가요?
아니면 어디에 getty 프로그램이 있는거죠?
pstree에는 mingetty는 살아있더군요.. ^^;;

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.