Почти любое современное устройство, с которым взаимодействует человек, будь то персональный компьютер, смартфон, игровая консоль, смарт- часы, фотоаппарат или в некоторых случаях даже кухонные приборы содержат в себе операционную систему. Легковесную для устройств с небольшим количеством функций и, соответственно, небольшим объёмом памяти или комплексную для сложных устройств, которые используются для сотен различных задач.
Операционная система — главный способ взаимодействия человека с практически любым современным устройством. Значит, умение обращаться с операционной системой в первую очередь персональных компьютеров, потому что с управлением смартфоном, которые являются самым распространённым компьютером, разобраться легче, и многие задачи, такие, как работа с таблицами, работа с текстовыми документами, программирование требуют наличия именно персонального компьютера, является одним из базовых навыков для человечества в двадцать первом веке.
Итак, умение работать с операционными системами крайне важно. Значит, нужно каким-то образом обучиться работе с ними.
Одними из самых популярных и подходящих для программирования являются операционные системы на ядре Linux.
Во многих университетах, в том числе и в Казанском (Приволжском) Федеральном Университете, преподают предметы, обучающие работе с операционными системами на ядре Linux, и цель данной работы — разработка приложения, позволяющего помочь студентам разобраться в устройстве и научиться работе с ОС на ядре Linux под руководством преподавателя с помощью визуализации абстрактных сущностей операционной системы на ядре Linux.
ГЛОССАРИЙ 3
ВВЕДЕНИЕ 4
ГЛАВА 1. ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ 5
1.1. Актуальность 5
1.2. Сравнение аналогов 8
1.3. Результат сравнения аналогов 9
ГЛАВА 2. РАЗРАБОТКА 10
2.1. Определение списка сущностей для визуализации 10
2.2. Выбор технологий 10
2.3. Процессы 11
2.4. Файлы 12
2.5. Данные о ядре ОС 13
2.6. Процессор 14
2.7. USB и PCI устройства 14
2.8. ОЗУ и ПЗУ 15
2.9. Файловые системы 16
2.10. Индексные дескрипторы 17
2.11. Сетевые устройства 18
2.12. Сокеты 19
2.13. Командный терминал в веб-браузере 19
ЗАКЛЮЧЕНИЕ 20
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 21
ПРИЛОЖЕНИЕ А 23
ПРИЛОЖЕНИЕ Б 24
ПРИЛОЖЕНИЕ В 25
ПРИЛОЖЕНИЕ Г 26
ПРИЛОЖЕНИЕ Д 27
ПРИЛОЖЕНИЕ Е 28
ПРИЛОЖЕНИЕ Ж 29
ПРИЛОЖЕНИЕ И 30
1. 10 Reasons Why Linux is the Ultimate Choice for Developers [Электронный ресурс] // URL: https://mangohost.net/blog/why-linux-is-the-better-choice- for-developers-and-programmers/ (дата обращения: 01.04.2024)
2. Comparison of the usage statistics of Linux vs. Windows for websites [Электронный ресурс] // URL:
https://w3techs.com/technologies/comparison/os-linux,os-windows (дата обращения: 01.04.2024)
3. Historical yearly trends in the usage statistics of operating systems for websites [Электронный ресурс] // URL: https://w3techs.com/technologies/history_overview/operating_system/ms/y (дата обращения: 01.04.2024)
4. Javascript Documentation [Электронный ресурс] // URL:
https://developer.mozilla.org/ru/docs/Web/JavaScript (дата обращения: 01.04.2024)
5. Most Popular Operating Systems For Developers [Электронный ресурс] // URL: https://survey.stackoverflow.co/2022/#section-most-popular-
technologies-operating-system (дата обращения 01.04.2024)
6. Node.js Documentation [Электронный ресурс] // URL: https://nodejs.org/docs/latest/api/ (дата обращения: 01.04.2024)
7. Operating System Market Share Worldwide [Электронный ресурс] // URL: https://gs.statcounter.com/os-market-share (дата обращения 01.04.2024)
8. Rails Documentation [Электронный ресурс] // URL: https://api.rubyonrails.org/ (дата обращения: 01.04.2024)
9. Ruby Documentation [Электронный ресурс] // URL: https://rubyapi.org/ (дата обращения: 01.04.2024)
10. Xterm.js Documentation [Электронный ресурс] // URL: http://xtermjs.org/docs/ (дата обращения: 01.04.2024)
11. Команды и Процессы [Электронный ресурс] // URL: https://www.ibm.com/docs/ru/aix/7. 1 ?topic=administration-commands- processes (дата обращения: 01.04.2024)