SlideShare a Scribd company logo
Операционная система
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: <1991Aug25.205708.9541@klaava.Helsinki.FI>
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 (torva...@kruuna.helsinki.fi)
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
python-vm-builder




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




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

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

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

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

vashik@yandex-team.ru

More Related Content

PDF
Операционные системы GNU/Linux
PDF
Безопасность весна 2014 лекция 7
PDF
Обзор файловой системы GlusterFS
PDF
Обзор Btrfs
PDF
Операционные системы
ODP
Krizhanovsky Vm
PDF
Обзор архитектуры [файловой] системы Ceph
PDF
Linuxvirt seminar-csc-2015
Операционные системы GNU/Linux
Безопасность весна 2014 лекция 7
Обзор файловой системы GlusterFS
Обзор Btrfs
Операционные системы
Krizhanovsky Vm
Обзор архитектуры [файловой] системы Ceph
Linuxvirt seminar-csc-2015

What's hot (20)

PDF
FreeBSD 2009 — живее всех живых
PDF
Andrew Pantyukhin P Nf Sv4
ODP
Express test BSD desktop
PDF
Архитектура ЭВМ
PDF
RHEL 7. Контейнеры и Docker
PDF
Freebsd11
PPT
Myaso
PDF
Пространства имен Linux (linux namespaces)
PDF
OpenStack и Docker: вместе и по отдельности
PDF
Rpm5
PDF
Freebsd11
PDF
FreeBSD 12, что нас ждёт?
PDF
Tarantool 1.6: NoSQL database and application server
PDF
Владимир Иванов - Безопасность Unix-подобных ОС
PDF
What's missing from upstream kernel containers? - Sergey Bronnikov
PPTX
PDF
Использование ленточных технологий для сокращения стоимости файловых хранилищ
ODP
Сравнение MacOs x и Linux Ubuntu
PDF
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
FreeBSD 2009 — живее всех живых
Andrew Pantyukhin P Nf Sv4
Express test BSD desktop
Архитектура ЭВМ
RHEL 7. Контейнеры и Docker
Freebsd11
Myaso
Пространства имен Linux (linux namespaces)
OpenStack и Docker: вместе и по отдельности
Rpm5
Freebsd11
FreeBSD 12, что нас ждёт?
Tarantool 1.6: NoSQL database and application server
Владимир Иванов - Безопасность Unix-подобных ОС
What's missing from upstream kernel containers? - Sergey Bronnikov
Использование ленточных технологий для сокращения стоимости файловых хранилищ
Сравнение MacOs x и Linux Ubuntu
Павел Пушкарев - Базы данных: легковесная реляционная высокопроизводительная ...
Ad

Viewers also liked (18)

DOCX
Pitágoras
PPTX
Criando no voki
PPS
Papiloma
PPT
Web 3.0
PDF
Design to branding_igor
PPT
Aspectos generales de_programacion-mps
PPT
Intalacion de windows xp javier alonso pillimur fenandez
PDF
Marketing de conteúdo para advogados
PPT
Forma joven 2010 2011
PPTX
La tolerancia es_el_margen_de_error_admisible
PPS
El oso y el conejo
XLS
Tabla 702
PDF
XP.Party (iOS) - testable code & architecture
DOCX
Shopping stars
PPTX
Planificacion
PPTX
Energías Renoovables
PPTX
Write Simply for the Web
Pitágoras
Criando no voki
Papiloma
Web 3.0
Design to branding_igor
Aspectos generales de_programacion-mps
Intalacion de windows xp javier alonso pillimur fenandez
Marketing de conteúdo para advogados
Forma joven 2010 2011
La tolerancia es_el_margen_de_error_admisible
El oso y el conejo
Tabla 702
XP.Party (iOS) - testable code & architecture
Shopping stars
Planificacion
Energías Renoovables
Write Simply for the Web
Ad

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

ODP
загрузка Linux
PPT
Кратко о Linux
PDF
Операционные системы и среды
PPTX
08 server mgmt_ru
PDF
TMPA-2013 Sartakov: Genode
PDF
Вячеслав Бирюков - Linux инструменты системного администратора
PPTX
администрирование Solaris 10
PDF
Инструменты тестирования ядра Linux
PDF
Linux Terminal Server Project
DOCX
Нурафшанский филлиал Ташкентского Университета Информационных Технологий имен...
PDF
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
PDF
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
PPT
Обзор операционных систем Microsoft Windows.
PDF
Недостатки Linux API с точки зрения разработчика веб-сервера.
PDF
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
PPSX
Open suse microsoft powerpoint
PDF
Леонид Васильев "Python в инфраструктуре поиска"
PDF
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрия
PDF
Hunting for a C++ package manager
загрузка Linux
Кратко о Linux
Операционные системы и среды
08 server mgmt_ru
TMPA-2013 Sartakov: Genode
Вячеслав Бирюков - Linux инструменты системного администратора
администрирование Solaris 10
Инструменты тестирования ядра Linux
Linux Terminal Server Project
Нурафшанский филлиал Ташкентского Университета Информационных Технологий имен...
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
Опенсорс-инструменты на страже безопасности бэкенда — Петр Волков
Обзор операционных систем Microsoft Windows.
Недостатки Linux API с точки зрения разработчика веб-сервера.
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Open suse microsoft powerpoint
Леонид Васильев "Python в инфраструктуре поиска"
Новые возможности IOS-XR 6 контейнеры, программируемость и телеметрия
Hunting for a C++ package manager

More from yaevents (20)

PDF
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
PDF
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
PDF
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
PDF
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
PDF
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
PDF
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
ODP
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
PDF
Мониторинг со всех сторон. Алексей Симаков, Яндекс
PDF
Истории про разработку сайтов. Сергей Бережной, Яндекс
PDF
Разработка приложений для Android на С++. Юрий Береза, Shturmann
PPTX
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
PPTX
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
PDF
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
PPT
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
PDF
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
PPT
Юнит-тестирование и Google Mock. Влад Лосев, Google
PDF
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
PDF
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
PDF
В поисках математики. Михаил Денисенко, Нигма
PPTX
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Мониторинг со всех сторон. Алексей Симаков, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндекс
Разработка приложений для Android на С++. Юрий Береза, Shturmann
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Юнит-тестирование и Google Mock. Влад Лосев, Google
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
В поисках математики. Михаил Денисенко, Нигма
Using classifiers to compute similarities between face images. Prof. Lior Wol...

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