Сагайда П.И.
ITConnect 2016
Изучение интерфейсов операционных систем с помощью Embedded System.
1 of 49
More Related Content
Изучение интерфейсов операционных систем с помощью Embedded System
1. 1 Donbass State Engineering Academy
ВИКОРИСТАННЯ ПІДСИСТЕМ
ВВЕДЕННЯ-ВИВЕДЕННЯ
ВБУДОВАНИХ ОПЕРАЦІЙНИХ
СИСТЕМ
Donbass State Engineering Academy (DSEA)
Kramatorsk, Ukraine
Sahaida P.I.
Donbass State Engineering Academy
2. 2 Donbass State Engineering Academy
Місце модуля Embedded Operating Systems у дисциплінах напряму
"Комп'ютерні науки"
Module “Software for Embedded Systems” (180h (6 ECTS) + 150h (5 ECTS)
practical exercises with new equipment)
C for Embedded
Systems 30h
3Systems
Programming*
Embedded
Software
Development 30h
3Systems
Programming*
Embedded
Operating
Systems 30h
2Operating
Systems*
Multicore
Programming
30h
2Operating
Systems*
Module “Software for Embedded Systems” (180h (6 ECTS) + 150h (5 ECTS)
practical exercises with new equipment)
C for Embedded
Systems 30h
3Systems
Programming*
Embedded
Software
Development 30h
3Systems
Programming*
Embedded
Operating
Systems 30h
2Operating
Systems*
Multicore
Programming
30h
2Operating
Systems*
3. 3 Donbass State Engineering Academy
Місце теми доповіді у змістовних модулях дисципліни
“Операційні системи”
Програма навчальної дисципліни "Операційні системи"
(відповідно до Держстандарту вищої освіти за напрямом "Комп'ютерні
науки")
М о д у л ь 1. Архітектура сучасних операційних систем.
Змістовий модуль (ЗМ) 1. Основні концепції, еволюція, різновиди
операційних систем.
ЗМ 2. Архітектура та ресурси операційних систем.
ЗМ 3. Планування та керування процесами і потоками.
ЗМ 4. Багатозадачність, взаємодія потоків, міжпроцесова взаємодія.
ЗМ 5. Керування оперативною пам'яттю.
ЗМ 6. Організація пам'яті у захищеному режимі, керування розподілом
пам'яті.
ЗМ 7. Логічна та фізична організація файлових систем.
4. 4 Donbass State Engineering Academy
Місце теми доповіді у змістовних модулях дисципліни
“Операційні системи”
М о д у л ь 2. Адміністрування операційних систем та взаємодія з
користувачем. Елементи системного програмування.
ЗМ 8. Реалізація файлових систем.
ЗМ 9. Виконувані файли.
ЗМ 10. Керування пристроями введення-виведення.
ЗМ 11. Мережні засоби операційних систем.
ЗМ 12. Взаємодія з користувачем в операційних системах.
ЗМ 13. Захист інформації в операційних системах.
ЗМ 14. Завантаження та адміністрування операційних систем.
ЗМ 15. Багатопроцесорні та розподілені системи.
5. 5 Donbass State Engineering Academy
Функціональні компоненти операційних систем:
- Керування процесами й потоками
- Керування пам'яттю
- Керування введенням-виведенням
- Керування файлами та файлові системи
- Мережна підтримка
- Безпека даних
- Інтерфейс користувача
6. 6 Donbass State Engineering Academy
Завдання підсистеми введення-виведення:
• ефективність (можливість використання ОС всіх засобів
оптимізації, які надає апаратне забезпечення), спільне використання і
захист зовнішніх пристроїв за умов багатозадачності
• універсальність для прикладних програм (ОС має приховувати від
прикладних програм відмінності в інтерфейсі апаратного забезпечення,
надаючи стандартний інтерфейс доступу до різних пристроїв), при
цьому потрібно завжди залишати можливість прямого доступу до
пристрою, оминаючи стандартний інтерфейс;
• універсальність для розробників системного програмного
забезпечення (драйверів пристроїв), щоб під час розробки драйвера для
нового пристрою можна було скористатися наявними напрацюваннями і
легко забезпечити інтеграцію цього драйвера у підсистему введення-
виведення.
7. 7 Donbass State Engineering Academy
Забезпечення ефективності доступу до пристроїв
Коректна взаємодія процесора із контролерами
пристроїв.
Керування пам'яттю під час введення-виведення
(із використанням таких технологій, як кешування і
буферизація).
8. 8 Donbass State Engineering Academy
Забезпечення спільного використання зовнішніх
пристроїв
Одночасний доступ кількох процесів до
зовнішнього пристрою і розв'язувати можливі
конфлікти
Захист пристроїв від несанкціонованого доступу
Розподілення операції введення-виведення
різних процесів
9. 9 Donbass State Engineering Academy
Універсальність інтерфейсу прикладного
програмування
Для більшості сучасних ОС для доступу до ЗП
використовується абстракція файлу, ЗП відображається як
набір байтів, з яким можна працювати за допомогою
спеціальних операцій файлового введення-виведення:
приклад, системних викликів відкриття файлу open(),
файлового читання read(), записування write().
Також є можливість взаємодіяти із драйвером
пристрою безпосередньо з використанням універсального
системного виклику (в UNIX-системах це іосtl()).
10. 10 Donbass State Engineering Academy
Універсальність інтерфейсу драйверів пристроїв
Драйвер можна розглядати як транслятор, що
отримує на свій вхід команди високого рівня,
зумовлені його інтерфейсом із операційною
системою, а на виході генерує низькорівневі
інструкції, специфічні для апаратного забезпечення,
яке він обслуговує.
11. 11 Donbass State Engineering Academy
Пристрої та драйвери розділяються на три категорії: блокові
або блок-орієнтовані (block-oriented, block), символьні або байт-
орієнтовані (character-oriented, character) і мережні (network).
• Для блокових пристроїв дані зберігають блоками однакового
розміру, при цьому кожен блок має свою адресу, і за допомогою
відповідного драйвера до нього можна отримати прямий доступ.
Основним блоковим пристроєм є диск.
• Символьні пристрої розглядають дані як потік байтів, при цьому
окремий байт адресований бути не може. Прикладами таких пристроїв є
модем, клавіатура, миша, принтер тощо. Базовими системними
викликами для символьних пристроїв є виклики читання і записування
одного байта.
• Деякі ОС реалізують у вигляді мережних драйверів не тільки
засоби доступу до пристроїв, але й мережні протоколи.
12. 12 Donbass State Engineering Academy
Способи виконання операцій введення-виведення
Пристрої зв'язуються із комп'ютером через
контролери. Є два базові способи зв'язку із
контролером:
через порт введення-виведення (I/O port)
і відображувану пам'ять (memory-mapped I/O).
13. 13 Donbass State Engineering Academy
Методи реалізації:
Опитування пристроїв
Введення-виведення, кероване перериваннями
(рівні переривань, встановлення оброблювачів
переривань, особливості реалізації оброблювачів,
відкладена обробка переривань)
Прямий доступ до пам'яті
14. 14 Donbass State Engineering Academy
Таймери і системний час
Керування таймерами відкладеного
виконання
15. 15 Donbass State Engineering Academy
Інтерфейс файлової системи
Спеціальні файли пристроїв
Файли пристроїв зберігають на диску як звичайні
файли, які в будь-який момент можуть бути створені
та вилучені. У разі вилучення файла пристрою
вилучають лише засіб доступу до драйвера.
20. 20 Donbass State Engineering Academy
Використання обладнання Raspberry PI
та вбудованої операційної системи
Raspbian (на основі Debian) для вивчення
особливостей роботи
підсистеми введення-виведення
24. 24 Donbass State Engineering Academy
Технические характеристики Raspberry PI 2:
Модель «В»:
1) Процессор - ARM11 [ARMv6];
2) Память – 1GB RAM, интегрирована в CPU;
3) Графическое ядро с поддержкой OpenGL ES 2.0;
4) Модель CPU - Broadcom BCM2836;
5) QUAD Core - Тактовая частота - 900MHz;
6) Модель GPU - интегрированное видео ядро;
7) Аудио подсистема - интегрирована в CPU;
8) Интерфейсы - HDMI, USB, UART, JTAG, SPI, …
9) Слот для карты памяти SD/MMC/microSD;
10) Open software (Debian, Fedora, Wolfram, Python …).
25. 25 Donbass State Engineering Academy
Прямуємо до Internet of
Things!
26. 26 Donbass State Engineering Academy
SSH (Secure Shell) позволяет безопасно передавать в
незащищённой среде практически любой другой сетевой
протокол. Таким образом, можно не только удалённо
работать на компьютере через командную оболочку, но и
передавать по шифрованному каналу звуковой поток или
видео (например, с веб-камеры). Также SSH может
использовать сжатие передаваемых данных для
последующего их шифрования, что удобно, например,
для удалённого запуска клиентов X Window System.
Технології для віддаленого доступу до
Raspberry PI
27. 27 Donbass State Engineering Academy
Virtual Network Computing (VNC) — система удалённого доступа к
рабочему столу компьютера, использующая протокол RFB (англ.
Remote FrameBuffer, удалённый кадровый буфер). Управление
осуществляется путём передачи нажатий клавиш на клавиатуре и
движений мыши с одного компьютера на другой и ретрансляции
содержимого экрана через компьютерную сеть.
RFB (remote framebuffer) — простой клиент-серверный сетевой
протокол прикладного уровня для удалённого доступа к
графическому рабочему столу компьютера, используемый в VNC.
Так как он работает на уровне кадрового буфера, то его можно
применять для графических оконных систем, например X Window
System, Windows,
Технології для віддаленого доступу до
Raspberri PI
28. 28 Donbass State Engineering Academy
Технології для віддаленого доступу до
Raspberri PI
29. 29 Donbass State Engineering Academy
Технології для віддаленого доступу до
Raspberry PI
30. 30 Donbass State Engineering Academy
Технології для віддаленого доступу до
Raspberry PI
31. 31 Donbass State Engineering Academy
Технології для віддаленого доступу до
Raspberry PI
32. 32 Donbass State Engineering Academy
Технології для віддаленого доступу до
Raspberry PI
33. 33 Donbass State Engineering Academy
Технології для віддаленого доступу до
Raspberry PI
34. 34 Donbass State Engineering Academy
Використання інтерфейсів Raspberry PI