
- •Тема 1: Основні поняття обчислювальних систем Призначення та склад системного програмного забезпечення
- •Основні концепції операційних систем
- •Типи операційних систем
- •Основні етапи розвитку операційних систем
- •Функціональні компоненти операційних систем
- •Керування процесами й потоками
- •Керування ресурсами
- •Керування введенням-виведенням
- •Керування файлами та файлові системи
- •Мережна підтримка
- •Тема 2: Архітектура операційних систем Основні принципи побудови операційних систем
- •Принцип модульності
- •Принцип функціональної вибірковості
- •Принцип здатності до генерування
- •Принцип функціональної надмірності
- •Принцип віртуальності
- •Принцип незалежності програм від зовнішніх пристроїв
- •Принцип сумісності
- •Принцип відкритої і нарощуваної ос
- •Принцип мобільності (переносимості)
- •Принцип забезпечення безпеки обчислень
- •Базові поняття архітектури операційних систем
- •Ядро операційної системи
- •Монолітні системи
- •Багаторівневі системи
- •Системи з мікроядром
- •Концепція віртуальних машин
- •Засоби апаратної підтримки операційних систем
- •Інтерфейс прикладного програмування
- •Варіанти реалізації api
- •Особливості архітектури unix і Linux
- •Особливості побудови ос Linux
- •Особливості архітектури Windows xp
- •Компоненти режиму ядра
- •Компоненти режиму користувача
- •Об’єктна архітектура Windows xp
- •Тема 3: Процеси та потоки
- •Базові поняття процесів та потоків
- •Блок керування процесом
- •Операції над процесами
- •Обробка переривань
- •Алгоритми планування процесів
- •Витісняючі та невитісняючі алгоритми планування
- •Нитки, потоки (Thread)
- •Керування процесорами
- •Планування з переключення та без переключення
- •Лекція 4: Ядро операційної системи
- •Основні функції ядра
- •Асинхронні паралельні процеси
- •Взаємо-виключення
- •Семафори
- •Кільцевий буфер
- •Конвеєр (програмний канал)
- •Черги повідомлень (Queue)
- •Лекція 5. Керування ресурсами
- •Керування пам’яттю
- •Ієрархія пам’яті
- •Розподіл пам’яті
- •Зв’язний розподіл пам’яті для одного користувача
- •Мультипрограмування з фіксованими розділами
- •Мультипрограмування із змінними розділами
- •Боротьба з фрагментацією
- •Стратегії розміщення інформації в пам’яті
- •Системи з розподілом часу. Сторінкова організація пам’яті. Концепція віртуальної (уявної) пам’яті.
- •Принцип кешування даних
- •Лекція 6. Керування даними Файлова система
- •Функції файлової системи
- •Ієрархія даних
- •Об’єднання в блоки та буферизація
- •Організація файлів
- •Методи доступу
- •Характеристики файлів
- •Файлова система
- •Виділення та звільнення місця в пам’яті
- •Зв’язаний розподіл пам’яті
- •Незв’язаний розподіл пам’яті
- •1) Розподіл за допомогою списків секторів
- •2) Поблочний розподіл
- •Дескриптор файлу (file descriptor)
- •Матриця керування доступом
- •Керування доступом в залежності від класів користувачів
- •Копіювання та відновлення інформації
- •Планування роботи з дисковою пам’яттю
- •Призначення планування
- •Цільові характеристики принципів планування
- •Оптимізація пошуку циліндру
- •Оптимізація за часом очікування записів
- •Архітектура сучасних файлових систем
- •Лекція 8. Основи організації ms-dos
- •Будова та функції основних складових дос
- •Керування пам’яттю
- •Відображена пам’ять
- •Розширена пам’ять
- •Висока пам’ять
- •Верхня пам’ять
- •Драйвери верхньої та розширеної пам’яті
- •Завантажувані модулі com та exe – файли
- •Логічна структура диску в ms-dos
- •Формат елементів таблиці розділів
- •Запис завантаження (boot)
- •Використання boot-сектору
- •Визначення формату fat
- •Формат fat
- •Файли та каталоги
- •Недоліки ms-dos
- •Переваги які надає користувачам Windows
- •Windows як операційна оболонка
- •Обмін даними в Windows
- •Зв’язування чи вбудовування
- •Первинність повідомлень: механізм повідомлень
- •Незалежна (preemptive) багатозадачність
- •Взаємодія 32– та 16–розрядних кодів
- •Робота з 16–розрядними продуктами
- •Робота з dos–продуктами
- •Робота 32–розрядних Windows–продуктів
- •Вдосконалення розподілу системних ресурсів
- •Vcache – 32–розрядний дисковий кеш
- •Варіанти модифікацій ос Windows xp
- •Нові характеристики реалізовані в Windows xp
- •Продуктивність
- •Лекція 8. Ос unix
- •Ядро ос unix
- •Генерування ос
- •Процеси
- •Початкове завантаження. Процеси 0 та 1
- •Файлова система unix
- •Будова файлової системи unix
- •Каталоги
- •Тема 1: Основні поняття обчислювальних систем 1
- •Тема 2: Архітектура операційних систем 9
- •Тема 3: Процеси та потоки 25
Переваги які надає користувачам Windows
1. Універсальна графіка. Ключова ідея – забезпечення повної незалежності програм від апаратури. Як користувачу, так і програмісту, який створює програми під Windows, надаються універсальні засоби, які знімають проблему забезпечення сумісності з конкретною апаратурою (апаратурна сумісність) та програмним забезпеченням (програмна сумісність).
2. Єдиний інтерфейс. Ретельно продуманий уніфікований єдиний графічний інтерфейс з користувачем полегшує вивчення нових програмних продуктів. Інтерфейс Windows звільняє від необхідності організовувати меню, роботу з клавіатурою та мишею (є стандартні засоби). Не виникає проблеми типу ”як мені організувати виклик команди з меню по виділеній букві”. Інтерфейс з користувачем Windows є повним і цільним (розв’язані не тільки проблеми організації меню – все спілкування з користувачем виконується стандартними засобами). Програмуючи під Windows не потрібно обслуговувати клавіатуру або драйвер миші. Взагалі не потрібно писати службові команди, а зразу розв’язувати конкретні предметні задачі.
3. Обмін даними між програмами. Один із засобів, забезпечуючи програмну сумісність є механізм обміну даними між різними програмами. ”Поштова скринька” (Clipboard) дозволяє користувачу переносити інформацію з одної програми в іншу, не думаючи про її формат та представлення. Це робиться просто та наглядно для користувача.
Механізм обміну даних між програмами – життєво важлива якість багатозадачного середовища. Крім Clipboard є вже інші механізми:
DDE – Dynamic Data Exchange – програмним шляхом можна встановити прямий зв’язок між задачами, наприклад, приймати дані з послідовного порту, автоматично розміщати їх в комірки електронної таблиці, засобами якої виконувати їх обробку в реальному масштабі часу.
OLE – Object Linking and Embedding – вбудований об’єктний зв’язок. Дозволяє переносити з одної програми в іншу різнорідні дані. Це нестандартний засіб для Windows, але реалізація OLE стала можливою тільки в Windows.
4. Сумісність з існуючим програмним забезпеченням. Не тільки дозволяє працювати із звичними програмними продуктами, але і пропонує додаткові можливості (запуск декількох програм одночасно, швидке перемикання з одної програми на іншу, обмін даними між ними і т. п.). Забезпечена можливість роботи з усіма прикладними програмами MS-DOS.
5. Повне використання апаратних ресурсів. При інсталяції Windows аналізує наявні апаратні ресурси та автоматично встановлює режим який найбільш повно використовує можливості апаратури. Дозволяється користуватись всією встановленою на комп’ютері пам’яттю.
6. Багатозадачність. Windows дозволяє запускати одночасно декілька програм (можна одну і ту саму програму декілька разів) з можливістю миттєвого переключення з одної програми на іншу. Це дозволяє ініціювати тривалий процес (друк, сортування даних, копіювання даних) і взятись за іншу роботу.
7. Засоби програмування. Нові ідеї вимагають нової технології програмування. SDK – Software Development Kit – нагадує роботу з одною із відомих спеціальних бібліотек. (стандартна технологія Microsoft). Borland C++ (об’єктно-орієнтований підхід + стандартна технологія).
SDK – набір бібліотек, спеціальних засобів та зразків програм, створених для того, щоб допомогти писати прикладні програми для Windows.
Windows повністю міняє ідеологію програмування, переводить на зовсім відмінні від MS-DOS концепції взаємодії програм, операційного середовища та апаратних ресурсів.
Програмування для Windows складніше ніж для MS-DOS, але ця складність не надлишкова, а визначається тільки тим, що при створенні програм для Windows програміст отримує доступ до нових засобів, недоступних в MS-DOS.