Архитектура операционных систем (Тонких Артём Петрович)

1.

федеральное государственное бюджетное образовательное учреждение
высшего образования
«ТОЛЬЯТТИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Архитектура
операционных систем
Тонких Артём Петрович
старший преподаватель кафедры
«Прикладная математика и информатика»
© ТГУ, 2024

2.

cnit.tltsu.ru - Сервисы
Ввести логин и пароль от портала

3.

http://cnit.tltsu.ru/sites/site.php?s=117&m=1100
cnit.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.

Дистрибутивы Linux

55.

Структура каталогов 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
English     Русский Правила