29
Операционная система GNU/Linux: устройство и функционирование Виктор Ашик Куратор практик Лекция КИТ, Москва, 21 марта 2011

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

Embed Size (px)

Citation preview

Page 1: Операционная система GNU/Linux: устройство и функционирование

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

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

Page 2: Операционная система GNU/Linux: устройство и функционирование

2

#yakit

Page 3: Операционная система GNU/Linux: устройство и функционирование

3

КИТПлан курса

— Операционные системы

— Архитектура ЭВМ

— Устройство GNU/Linux

— Системы хранения данных

— Файловые системы

— Сети и протоколы

— Виртуализация

— Безопасность

Page 4: Операционная система GNU/Linux: устройство и функционирование

4

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

— *nix, BSD и GNU

— загрузка

— состав

— дистрибутивы

Page 5: Операционная система GNU/Linux: устройство и функционирование

5

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

Linux

Minix

386BSD

Page 6: Операционная система GNU/Linux: устройство и функционирование

6

Объявление о Linux:What would you like to see most in minix?

Message-ID: <[email protected]>

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) for386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like anyfeedback on things people like/dislike in minix, as my OS resembles it somewhat (same physicallayout 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 getsomething practical within a few months, and I'd like to know what features most people wouldwant. Any suggestions are welcome, but I won't promise I'll implement them :-)

Linus ([email protected])

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'sall I have :-(.

Page 7: Операционная система GNU/Linux: устройство и функционирование

7

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

Page 8: Операционная система GNU/Linux: устройство и функционирование

8

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

Page 9: Операционная система GNU/Linux: устройство и функционирование

9

Загрузчики Linux

GRUB (v1/v2)

(e)LILO

syslinux/isolinux/pxelinux

Page 10: Операционная система GNU/Linux: устройство и функционирование

10

Конфигурация загрузчика:

/boot/grub/grub.cfg

/boot/grub/menu.lst

/etc/lilo.conf

syslinux.cfg

Page 11: Операционная система GNU/Linux: устройство и функционирование

11

Ядро Linux

Гибридное — драйверы дисковых и файловых подсистем загружаются модулями

Модули — файлы в /lib/modules/

Как работает bootstrapping?

Page 12: Операционная система GNU/Linux: устройство и функционирование

12

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

Page 13: Операционная система GNU/Linux: устройство и функционирование

13

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

Page 14: Операционная система GNU/Linux: устройство и функционирование

14

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

Page 15: Операционная система GNU/Linux: устройство и функционирование

15

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

Page 16: Операционная система GNU/Linux: устройство и функционирование

16

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.");

Page 17: Операционная система GNU/Linux: устройство и функционирование

17

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

Page 18: Операционная система GNU/Linux: устройство и функционирование

18

init

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

Page 19: Операционная система GNU/Linux: устройство и функционирование

19

Варианты 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

Page 20: Операционная система GNU/Linux: устройство и функционирование

20

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

Page 21: Операционная система GNU/Linux: устройство и функционирование

21

man 5 fstab

Page 22: Операционная система GNU/Linux: устройство и функционирование

22

Разбираем initrd/initramfs

INITRD=/boot/init*$(uname -r)*

file $INITRD

zcat $INITRD | file -

zcat $INITRD | cpio -t

Page 23: Операционная система GNU/Linux: устройство и функционирование

23

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

Page 24: Операционная система GNU/Linux: устройство и функционирование

24

linux/Documentation/x86/boot.txt

Page 25: Операционная система GNU/Linux: устройство и функционирование

25

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

Page 26: Операционная система GNU/Linux: устройство и функционирование

26

python-vm-builder

Page 27: Операционная система GNU/Linux: устройство и функционирование

27

dkms: хороший способ добавлять модули

Page 28: Операционная система GNU/Linux: устройство и функционирование

28

КИТПлан курса

— Операционные системы

— Архитектура ЭВМ

— Устройство GNU/Linux

— Системы хранения данных

— Файловые системы

— Сети и протоколы

— Виртуализация

— Безопасность

Page 29: Операционная система GNU/Linux: устройство и функционирование

Виктор Ашик

Куратор практик

119021, Россия, Москва,ул. Льва Толстого, д. 16.

+7 (495) 739-70-00+7 (495) 739-70-70 — факс

[email protected]