Similar presentations:
Архитектура операционных систем (Тонких Артём Петрович)
1.
федеральное государственное бюджетное образовательное учреждениевысшего образования
«ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Архитектура
операционных систем
Тонких Артём Петрович
старший преподаватель кафедры
«Прикладная математика и информатика»
© ТГУ, 2024
2.
cnit.tltsu.ru - СервисыВвести логин и пароль от портала
3.
http://cnit.tltsu.ru/sites/site.php?s=117&m=1100cnit.tltsu.ru/sites/site.php?s=216
4.
Распаковать slack.zipНужен образ жёсткого диска DOS .vhd
5.
Создать 2 образа чистых дискетboot.vfd и root.vfd
Объём дискеты 1,44 Мбайт = 1,44*1024*1000 байт
Запустить Oracle VM VirtualBox
6.
Подключаем к виртуальной машине жёсткий диск7.
Настраиваем виртуальную машину8.
Наш жёсткий диск должен быть подключен к IDEДобавляем Floppy диск boot.vfd
При необходимости нужно добавить контроллер
Floppy
9.
Запускаем виртуальную машинуЗаходим в папку SLACKWAR
Заходим в подпапку BOOTDSKS
Запускаем файл RAWRITE
10.
В качестве назначения указываемдисковод A:
Нажимаем Enter.
Boot-диск готов!
Вытаскиваем дискету boot,
вставляем дискету root
11.
Делаем то же самое, только в качествеисточника указываем файл color.gz
Root-диск готов!
Вытаскиваем дискету root, вставляем
дискету boot
и перезагружаемся.
12.
Будем устанавливать Linux• загрузка
• fdisk
• mke2fs и mkswap
• инсталляция
• LILO
13.
Загрузка Linux и драйверы устройств• boot:
• login:
• вводим root
14.
Создание разделов• fdisk /dev/hda
• m
• n
• q
• w
• p
• l
• t (Linux swap, 82)
15.
Создание разделов16.
Создание разделов17.
Создание разделов• q
• w
• p
• l
• t (Linux swap, 82)
18.
Создание области своппинга• mkswap –c /dev/hda3 <size>
• swapon /dev/hda3
19.
Создание файловых систем• Second Extended Filesystem (ext2fs)
– имя файла до 256 символов
– размер ФС до 4 Тб
mke2fs –c /dev/hda2 <size>
20.
Инсталляция• setup
– Help
– Addswap
– Target
• Linux native
– Source
• /slackwar (C:\SLACKWAR)
– Disk sets
– Install
– Configure (LILO)
21.
Выключение и перезагрузка• shutdown
– shutdown –r now
– man shutdown
22.
Создание пользователя• useradd –G adm,wheel –p password –s
/bin/bash IvanovIvanIvanovich
23.
Команды Linux• cd ..
• pwd
• ls
• cd mnt
• mkdir User
24.
Подключение диска• mount /dev/hda1 /mnt/Disk_C
25.
Настройка автозагрузки• vi /etc/lilo.conf
• i
• timeout=100
• Default=Linux
• Esc + :wq
• lilo
26.
Автозапуск Midnight Commander• vi /etc/rc.d/rc.local
• mc
• Esc + :wq
27.
Создание домашней папкипользователя
• useradd IvanovIvanIvanovich
• passwd IvanovIvanIvanovich
• usermod –d /home/User/IvanovIvanIvanovich
–m IvanovIvanIvanovich
28.
Создание группы пользователей• addgroup PIb-1803b
29.
Учётная запись пользователя• имя пользователя
• пароль
• id пользователя
• id группы
• комментарий
• каталог
• интерпретатор
anton:*:100:1000::/home/usr:/bin/bash
30.
Учётная запись группы• имя группы
• пароль
• id группы
• список имён пользователей
PIb-1803b:*:1000:anton
31.
Удаление пользователя, группы• userdel
• delgroup
32.
Изменение принадлежности• chown user file1
• chgroup PIb-1803b file1
33.
Информация о файлах• имя
• тип
• размер
• расположение
• время доступа
• id владельца
• id группы
• права (ls –l)
34.
Коды соответствияВосьмеричный
Двоичный код
Код доступа
0
000
---
1
001
--x
2
010
-w-
3
011
-wx
4
100
r--
5
101
r-x
6
110
rw-
7
111
rwx
код
35.
Категории пользователей• владелец
• группа
• все остальные
chmod 777 myfile.com
36.
W op D• владелец (u)
• группа (g)
• все (a)
• остальные (o)
• +
• • =
37.
W op D• r – чтение
• w – редактирование
• x – исполнение
• chmod u+x file1
• chmod u+w g-r file2
• chmod a+rwx file3
38.
История ОС• BESYS (Bell Operating System) – Bell Labs, 1957,
Виктор А. Высотский, перфокарты
• Multics – MIT, General Electric (GE), Bell Labs, 1964
• UNIplexed Information and Computing System
(UNICS) – Кен Томпсон (DEC PDP-7), Брайан
Керниган, 1969, Ассемблер
• UNIX Version 2 (PDP-11) – 1970
• UNIX Version 3 (Си) – 1973
• UNIX Version 4 – 15.10.73
• UNIX Version 5 – 1974
39.
История ОС• UNIX Version 6 – 1975
• 1978 – 600 машин
• UNIX Version 7 – Bourne shell
• 1980-е – AT&T (Bell Labs)
• UNIX System III – 1982
• Berkeley Software Distribution (BSD) – Билл Джой
• AIX, HP-UX, IRIX, Solaris
• 1983 – Ричард Столлмэн, GNU
• 1991 – Линус Торвальдс, GNU/Linux
• 1980-e - POSIX
40.
История свободного ПО• source code
• computer science
• PDP-10
• лицензии
• безущербное копирование
• воспроизведение
• разработка и копирование
• «патентованный программный продукт»
• «проприетарные» («proprietary»)
41.
Появление свободного ПО• LISP-машины
• MACSIMA
• Free Software Foundation (FSF)
• UNIX (Кен Томпсон и Деннис Ричи)
• GNU (GNU’s Not Unix)
• свободное программное обеспечение
– «0-я свобода»: можно использовать с любой целью
– «1-я свобода»: можно адаптировать для своих целей
– «2-я свобода»: можно распространять копии
– «3-я свобода»: можно улучшать и публиковать
42.
История ОС43.
Появление свободного ПО• «free» (свободное, не бесплатное)
• несвободное ПО
• «open source software»
• без лицензии
• emacs (Джеймс Гослинг, Java, UniPress)
• лицензия на патентованное ПО
– нельзя модификацию сделать несвободной
• «copyleft»
• GPL (GNU Public License)
• BSD License
44.
История ОС45.
Сообщество разработчиков ипользователей
• служба поддержки
• «как есть»
• список рассылки
• Usenet
• FAQ (Frequently Asked Questions, ЧАВО)
• bugs
• bug report
• Bug Tracking System (BTS)
• GNUTS, Bugzilla (mozilla.org), JitterBug (Samba),
Debian BTS
46.
История ОС• /GNU’s Not UNIX
• Minix (BSD) – Эндрю Таненбаум, 1987, «ОС»
47.
Сообщество разработчиков ипользователей
• Larry Wall, 1984, patch
• Usenet
• http://archive.oreilly.com/pub/a/oreilly/tim/articles
/paradigmshift_0504.html
• upstream
• системы контроля версий
• RCS
• CVS
• Subversion, Arch
• OpenOffice.org
48.
История ОС• Linux (GNU) – Линус Торвальдс, август 1991
49.
Свободные программы• Bind (DNS)
• Apache
• Linux
Intel, IBM
50.
Linux• x86
• x86-64
• PowerPC
• ARM
• Alpha AXP
• SPARC
• Motorola 680x0
• SuperH
• IBM System/390
• MIPS
• PA-RISC
• AXIS CRIS
• Renesas M32R
• Atmel AVR32
• Renesas H8/300
• NEC V850
• Tensilica Xtensa
51.
Дистрибутивы Linux• Slackware [слака] – самый UNIX’овый
Если вы выучили Red Hat, то всё, что вы знаете, —
это Red Hat, если вы выучили Slackware — вы
знаете Linux.
14.2 (30 июня 2016)
• Debian (свыше 37 тысяч пакетов для 10
архитектур)
– Advanced Packaging Tool (APT)
– Knoppix, Linux Mint, Maemo, MEPIS, SteamOS, TAILS,
Ubuntu
– 9.3 Stretch, 09.12.2017
52.
Дистрибутивы Linux• Gentoo Linux
– Portage
– производительность выше на 10-20% по сравнению с
бинарными сборками
– 08.12.2016
• Red Hat Enterprise Linux (RHEL)
– коммерческая поддержка
– 7.4, 01.08.2017
• Fedora – Red Hat
– RPM
– 27, 14.11.2017
53.
Дистрибутивы Linux• OpenSUSE – Германия
– RPM
– 42.3, 26.07.2017
• Ubuntu – Марк Шаттлворт, Canonical
– 17.10 Artful Aadvark, 19.10.2017
54.
Дистрибутивы Linux55.
Структура каталогов Unix• / (ROOT)
• /bin/
• /boot/
– /boot/grub/
• config-kern_ver
• initrd.img-kern_ver
• vmlinuz-kern_ver
• /dev/
• /etc/
• /home/
• /lib/
56.
Структура каталогов Unix• /lost+found
• /media/
• /mnt/
• /opt/
• /proc/
– hostname
– domainname
– cpuinfo
– meminfo
– mounts
– partitions
– pci
– uptime
– version
57.
Структура каталогов Unix– /цифровые/
• /fd/*
• cmdline
• status
• /root/
• /sbin/
• /srv/
• /sys/ - sysfs
• /tmp/
• /usr/ - X Window
– /bin/
58.
Структура каталогов Unix– /include/ - C++
– /lib/ - /usr
– /local/
• /usr/local
– /share/
– /src/
– /X11R6/ - X Window
• /var
– /cache
– /lib
– /log/
– /spool
– /www – Apache httpd
59.
master boot record (MBR)• BOOT
• partition table
• 55AAh
– primary
– extended
60.
61.
partition• sdX (sda1 – serial ATA/sata)
• hdX
• fdX
• mdX
62.
Программы для работы с разделами• fdisk
• Acronis Disk Director
• Paragon Partition Manager
• Norton PartitionMagic (PowerQuest PartitionMagic)
• GParted — GNOME Partition Editor
63.
Структура MBRСмещение от
начала
0000h
01BEh
01CEh
01DEh
01EEh
01FEh
Длина, байт
Описание
446
16
16
16
16
2
Код загрузчика
Раздел1
Раздел2
Раздел3
Раздел4
Сигнатура
(55AAh)
64.
Структура описания раздела в таблицеСмещение Длина
Описание
00h
1
Признак активности раздела
01h
1
Начало раздела — головка
Начало раздела — сектор (биты 0—5), цилиндр
02h
1
(биты 6, 7)
Начало раздела — цилиндр (старшие биты 8, 9
03h
1
хранятся в байте номера сектора)
04h
1
Код типа раздела
05h
1
Конец раздела — головка
Конец раздела — сектор (биты 0—5), цилиндр
06h
1
(биты 6, 7)
Конец раздела — цилиндр (старшие биты 8, 9
07h
1
хранятся в байте номера сектора)
08h
4
Смещение первого сектора
0Ch
4
Количество секторов раздела
65.
Структура описания раздела в таблицеСмеще Дли
Описание
ние
на
1BEh 16 Указатель на раздел
Указатель на следующий EBR
1CEh 16
(EPBR)
Не используется (должно быть
1DEh 32
заполнено нулями)
1FEh
2
Сигнатура (55h AAh)
66.
GPT (GUID Partition Table)• EFI (Extensible Firmware Interface), Intel, BIOS
• сектор 0 - MBR
• Partition Table Header
• LBA вместо CHS
• MBR: LBA=0
• оглавление GPT: LBA=1
• начало таблицы разделов: LBA=2
• 264 раздела
• дублирование
67.
UUID• Universally Unique Identifier
• 16 байт (128 бит)
• 550e8400-e29b-41d4-a716-446655440000
• задаётся каждому разделу
68.
Загрузка компьютера с MBR• POST - Power-On Self-Test
• BIOS определяет устройство загрузки
• 1-й сектор (512 байт) ОЗУ 0x7C00
• 55AAh
• если не так, то управление возвращается в BIOS
• загрузчик 0x7C00
• активный раздел (80h)
• сообщение об ошибке загрузки
• VBR — Volume Boot Record, или Volume Boot Sector
• Missing operating system
• GRUB
69.
Загрузка Linux• BIOS из MBR
• оставшаяся часть загрузчика
• GRUB
• zImage (bzImage)
• распаковка ядра
• ядро:
– инициализирует и конфигурирует память
– настраивает оборудование
– Initrd (Initial RAM Disk)
– загрузка драйверов
70.
Загрузка Linux– инициализирует виртуальные устройства
– создаёт корневое устройство
– /sbin/init (PID=1)
• init (System V init) - /etc/inittab (getty)
– /etc/fstab
– запуск нужных пользовательских служб
– переключение в пользовательскую среду
– run level (1-6) - /etc/rc…
• 0
• 1 (single user mode)
• 2
• 3 (multiuser mode)
• 4 (Slackware)
• 5 (Debian, Red Hat, SuSE)
• 6 - перезагрузка
71.
Загрузка Linux– init /etc/inittab
• настраивает пользовательское пространство и
процессы
– RedHat
• sysinit
• swap
• проверяет файловые системы
• инициализирует систему
• просматривает конфигурацию
• устанавливает библиотеку (PID)
• запускает процессы для автозапуска
• создаёт сессию
72.
Systemd• Debian Linux
• unit
– .target
– .service
– .mount
– .automount
– .swap
– .timer
– .socket
– .slice (cgroups)
– .device
– .path
73.
Разделы Linux• /
• swap
• /home