Tải bản đầy đủ (.pdf) (29 trang)

IT training 20110321 03 yaCIT lecture linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (581.94 KB, 29 trang )

Операционная система
GNU/Linux: устройство и
функционирование
Виктор Ашик
Куратор практик

Лекция КИТ, Москва, 21 марта 2011


#yakit

2


КИТ
План курса
— Операционные системы
— Архитектура ЭВМ
— Устройство GNU/Linux
— Системы хранения данных
— Файловые системы
— Сети и протоколы
— Виртуализация
— Безопасность

3


ОС GNU/Linux
Устройство и функционирование
— *nix, BSD и GNU


— загрузка
— состав
— дистрибутивы

4


В каком порядке появились?
Linux
Minix
386BSD

5


Объявление о Linux:
What would you like to see most in minix?
Message-ID: <>
Date: 25 Aug 91 20:57:08 GMT
Hello everybody out there using minix I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for
386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any
feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical
layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get
something practical within a few months, and I'd like to know what features most people would
want. Any suggestions are welcome, but I won't promise I'll implement them :-)
Linus ()

PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386
task switching etc), and it probably never will support anything other than AT-harddisks, as that's

all I have :-(.
6


Каким был загрузчик первой
версии Linux?

7


Какие есть загрузчики Linux?

8


Загрузчики Linux
GRUB (v1/v2)
(e)LILO
syslinux/isolinux/pxelinux


9


Конфигурация загрузчика:
/boot/grub/grub.cfg
/boot/grub/menu.lst
/etc/lilo.conf
syslinux.cfg


10


Ядро Linux
Гибридное — драйверы дисковых и файловых
подсистем загружаются модулями
Модули — файлы в /lib/modules/
Как работает bootstrapping?

11


Как настроить ядро до его
запуска?

12


Как настроить ядро после его
запуска?

13


Как появляются новые
процессы?

14



Что первично: fork или exec?

15


Linux: init/main.c
if (execute_command) {
run_init_process(execute_command);
printk(KERN_WARNING "Failed to execute %s."
"Attempting defaults...\n",
execute_command);
}
run_init_process("/sbin/init");
run_init_process("/etc/init");
run_init_process("/bin/init");
run_init_process("/bin/sh");
panic("No init found. Try passing init= option to
kernel. "
"See Linux Documentation/init.txt for guidance.");

16


Что будет делать init?

17


init
dpkg -S /sbin/init||rpm -qf /sbin/init


18


Варианты init
BSD-стиль:
– /etc/rc && /etc/rc.d && /etc/rc.local

SysV-стиль:
– sysvinit: /etc/inittab && /etc/rc[0-9].d/ && /etc/rc.local

– upstart: /etc/init/*.conf
– systemd: /etc/system.conf && /etc/user.conf

19


Как монтируются другие
файловые системы?

20


man 5 fstab

21


Разбираем initrd/initramfs
INITRD=/boot/init*$(uname -r)*

file $INITRD
zcat $INITRD | file zcat $INITRD | cpio -t

22


Как устроен процесс загрузки?

23


linux/Documentation/x86/boot.txt

24


Как изучать процесс загрузки?

25


×