
- •1. Задачи и функции операционной системы компьютера. Классификация ос. Основные современные ос.
- •2, 4. Архитектура современных ос. Структура ос unix.
- •3. Архитектура современных ос. Структура ос Windows nt.
- •4. Архитектура современных ос. Системы с монолитным (макро-) ядром и с микроядром.
- •5. Архитектура современных ос. Ос с множественными интерфейсами прикладных программ на примере ос Windows nt.
- •6. Процессы и потоки в ос. Понятие процесса. Атрибуты процесса. Создание нового процесса в различных ос.
- •7, 6. Процессы и потоки в ос. Понятие процесса. Жизненный цикл процесса. Различные состояния процесса.
- •8. Процессы и потоки в ос. Понятие нити (thread). Основные отличия нити от процесса.
- •9, 11, 12. Процессы и потоки в ос. Необходимость синхронизации при работе с общими ресурсами. Способы синхронизации.
- •10. Механизмы синхронизации. Понятие семафора (semaphore) и основные операции с ним. Двоичный семафор.
- •11. Механизмы синхронизации. Понятие мьютекса (mutex) и основные операции с ним. Пример использования мьютекса для синхронизации нитей.
- •12. Механизмы синхронизации. Сравнение мьютекса и двоичного семафора.
- •13. Управление оперативной памятью. Способы защиты оперативной памяти процесса от случайного или злонамеренного вторжения из другого процесса. Сегментная организация памяти. Виртуальная память.
- •14, 13, 15. Управление оперативной памятью. Понятие виртуальной памяти. Поддержка вп со стороны процессора (на примере процессора Intel x86). Перевод виртуального адреса в адрес реальной памяти.
- •15. Управление оперативной памятью в современных ос. Виртуальная память процесса и ее отображение в реальную оперативную память компьютера. Файл подкачки.
- •16. Цели и задачи файловой системы ос. Многоуровневая организация файловой системы. Логическая и физическая фс.
- •17. Управление виртуальной памятью в современных ос. Алгоритмы подкачки и вытеснения.
- •18. Логическая файловая система ос Windows nt.
- •19. Логическая файловая система ос unix.
- •20. Физическая организация файловой системы. Файловая система fat.
- •21. Физическая организация файловой системы. Файловая система System V (s5fs).
- •22. Физическая организация файловой системы. Файловая система ntfs.
- •23. Управление вводом/выводом. Понятие аппаратного прерывания и его обработка.
- •24. Управление вводом/выводом. Синхронный и асинхронный ввод/вывод.
- •25. Управление безопасностью. Пользователь, его атрибуты и права доступа.
- •26. Управление безопасностью. Задача администрирования вычислительной системы и компьютерной сети.
- •27. Управление доступом к файлам в ос unix.
- •28. Управление доступом к файлам в ос Windows nt. Списки прав доступа.
- •29. Язык программирования Java. Виртуальная машина Java. Технология Java.
- •30. Платформа .Net. Основные идеи и положения. Языки программирования .Net.
- •31. Функциональные компоненты ос. Управление файлами
- •32. Функциональные компоненты ос. Управление процессами.
- •33. Функциональные компоненты ос. Безопасность и защита данныx.
- •34. Функциональные компоненты ос. Пользовательский интерфейс.
- •35. Функциональные компоненты ос. Управление оперативной памятью.
- •36. Компьютерные сети. Сетевые ос и их задачи.
- •37. Компьютерные сети. Протоколы tcp/ip. Интернет.
- •38. Переносимость программного обеспечения. Стандарты операционных систем.
- •1. Стандарт cp/m
- •2. Операционные системы типа dos
- •3. Стандарт msx
- •4. Операционные системы, основанные на графическом интерфейсе
- •6. Операционные системы семейства unix
3. Архитектура современных ос. Структура ос Windows nt.
Архитектура Windows NT имеет модульную структуру и состоит из 2 основных уровней — компоненты, работающие в режиме пользователя, и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя, имеют ограниченный доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT называют гибридным ядром или макроядром. Архитектура включает в себя ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (executives), которые работают в режиме ядра (kernel-mode drivers) или в пользовательском режиме (user-mode drivers).
Пользовательский режим Windows NT состоит из подсистем, передающих запросы ввода / вывода соответствующему драйверу режима ядра посредством менеджера ввода / вывода. Есть 2 подсистемы на уровне пользователя: подсистема окружения (запускает приложения, написанные для разных ОС) и интегрированная подсистема (управляет особыми системными функциями от имени подсистемы окружения). Режим ядра имеет полный доступ к «железу» и системным ресурсам компьютера. И также предотвращает доступ к критическим зонам системы со стороны пользовательских служб и приложений.
Windows API (application programming interface) — общее наименование целого набора базовых функций интерфейсов программирования приложений операционных систем семейств Windows и Windows NT корпорации «Microsoft». Самый прямой способ взаимодействия приложений с Windows.
4. Архитектура современных ос. Системы с монолитным (макро-) ядром и с микроядром.
См. вопрос № 2.
5. Архитектура современных ос. Ос с множественными интерфейсами прикладных программ на примере ос Windows nt.
Интерфейс программирования приложений (интерфейс прикладного программирования) (application programming interface) — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах.
API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как функциональность реализована.
Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — множество «ручек», доступных пользователю данного ящика, которые он может вертеть и дёргать.
Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию — высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.
Понятие протокола (HTTP, IMAP) близко по смыслу к понятию API. И то и другое является абстракцией функциональности, только в первом случае речь идёт о передаче данных, а во втором — о взаимодействии приложений.
API библиотеки функций и классов включает в себя описание сигнатур и семантики функций.
Наиболее известные API:
Операционных систем:
Windows API.
Linux Kernel API.
POSIX. Набор стандартов, описывающих интерфейсы между ОСью и ПП. Стандарт создан для обеспечения совместимости различных UNIX-подобных ОСей.
Графических интерфейсов:
Direct3D (часть DirectX).
DirectDraw (часть DirectX).
OpenGL.
Звуковых интерфейсов:
OpenAL.
DirectSound (часть DirectX).
Windows API — общее наименование набора базовых функций интерфейсов программирования приложений ОС семейств Windows и Windows NT корпорации «Microsoft». Является самым прямым способом взаимодействия приложений с Windows.
Windows API изначально был спроектирован для использования в программах, написанных на языке C или C++. Работа через Windows API — наиболее близкий к системе способ взаимодействия с ней из ПП. Более низкий уровень доступа, необходимый только для драйверов устройств, в текущих версиях Windows предоставляется через фреймворк для драйверов Windows Driver Model.
Win16 — первая версия Windows API для 16-разрядных версий Windows. Изначально назывался Windows API, затем — Win16, чтобы отличать от Win32.
Win32s — подмножество Win32, устанавливаемое на 16-разрядные Windows 3.x, и реализующее ограниченный набор функций Win32 API для этих систем.
Win32 — 32-разрядный API для современных Windows. Самая популярная ныне версия.
Win64 — 64-разрядная версия Win32, содержащая доп. функции для использования на 64-разрядных компьютерах. 64-разрядные Windows 2000, XP, Server 2003 и 2008, Vista, 7, 8.