Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sp.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
215.95 Кб
Скачать

1. Системное программное обеспечение. Цели, задачи, классификация системного ПО.

2. Операционная система. Основные функции ОС. Структура операционной системы.

3. Интерфейс прикладных программ (API) ОС. API Win32 (системные функции).

4. Файловая система. Назначение, требования, функции. Способы организации ФС.

5. Объекты файловой системы: файлы, директории, логические устройства,

другие виды объектов.

6. Программный интерфейс файловой системы (функции для взаимодействия с ФС, файлового ввода-вывода) - DOS, Win32.

7. Программа, вычислительный процесс, образ процесса.

8. Вычислительный процесс. Состояния вычислительного процесса, жизненный цикл процесса.

9. Адресное пространство процесса (задачи).

10. Приложения Windows (Win 32), разновидности. Структура оконных (windowed) приложений.

11. Динамически присоединяемые библиотеки (DLL) и оверлеи. DLL Windows: структура, явное и неявное подключение, основные аспекты использования.

12. Окно Win32: назначение, виды, свойства. Оконные классы.

13. Создание окон, управление окнами.

14. Событийное управление в Win32. Сообщения и очереди сообщений Windows (Windows messages): назначение, структура, отсылка, доставка, обработка.

15. Цикл обработки сообщений. Оконная процедура: назначение, выполнение, способы активизации и завершения.

16. Многозадачность, многозадачные операционные системы, особенности выполнения приложений в многозадачной среде.

17. Многозадачность в Win32. Планирование выполнения программ Win32.

18. Процессы (process) Win32. Атрибуты и состояния процессов. Порождение процессов и управление ими.

19. Потоки (thread) и многопоточные приложения. Порождение потоков, состояния потоков, управление ими.

20. Нити (fiber) - альтернативное управление выполнением программы.

21. Распределение времени выполнения программ в многозадачной системе. Приоритеты.

22. Приоритеты процессов и потоков Win32. Управление приоритетами.

23. Взаимодействие процессов/потоков: взаимное исключение, синхронизация.

24. Взаимодействие процессов/потоков: обмен данными.

25. Реализация взаимного исключения. Механизм CriticalSection Win32.

26. Сихронизация при управлении процессами и потоками (создание, приостановка, завершение)

27. Функции ожидания Win32. Объекты ожидания: объекты файловой системы, процессы, потоки.

28. Специальные объекты ожидания (IPC): Event, Mutex, Semaphore, Waitable timer.

29. Использование каналов (pipe, named pipe) и почтовых ящиков (mailslot) для обмена данными.

30. Использование файловой системы для обмена данными.

31. Использование разделяемой памяти. Организация разделяемой памяти в Win32.

32. Графическая подсистема Win32 (GDI) - общая характеристика, основные концепции, объекты (инструменты).

33. Подсистема памяти. Основные задачи, функции, требования.

34. Виртуальная память. Управление памятью с организацией виртуального адресного пространства.

35. Подсистема памяти Win32. Регионы (области) памяти. Группы функций API подсистемы памяти.

36. Распределение памяти на уровне менеджера виртуальной памяти (VMM API - Win32).

37. Динамическое распределение памяти программами (heap). Heap API Win32

38. Отображение файлов в память (File mapping) Win32.

39. Системный реестр Windows: назначение, организация, доступ.

40. Журналирование (протоколирование): назначение, задачи, подходы. Журналы Windows.

  1. Системное по. Цели, задачи, классификация

В сложившейся терминологии принято деление всего программного обеспечения (ПО) на 2 основные категории: системное и прикладное. Критерием деления служит функциональное назначение программ: прикладные решают конкретные задачи пользователя, а системные обеспечивают работу вычислительной системы в целом и исполнение ею прикладных программ. Функции системного ПО и его набор обычно мало зависят от характера прикладных задач.

Примечание. Согласно иному подходу, под системным программированием понимается решение высокоуровневых задач проектирования сложных программных систем, разработка системы в целом. В рамках данного курса системным называется программирование на нижнем уровне, написание системных программ, взаимодействие с ними и с аппаратными средствами.

В свою очередь, системное программное обеспечение делится на следующие группы:

– операционные системы (ОС);

– драйверы;

– прочие системные программы (утилиты).

Операционная система – часть программного обеспечения, набор программ для обеспечения функционирования вычислительной системы (ее аппаратного и программного обеспечения) как единого комплекса для решения конкретных задач (подробнее см. ниже).

Драйвер – программа, управляющая работой некоторого устройства (физического, логического, виртуального). Как правило, когда идет речь об обращении к логическому устройству, имеется в виду взаимодействие именно с драйвером этого устройства. Толкование понятия драйвера в различных системах может существенно различаться, равно как и технологические особенности самих драйверов.

К т.н. прочих системным программам относятся: трансляторы (компиляторы и интерпретаторы), т.е. средства программирования, редакторы, отладчики, дисковые утилиты и т.д. Критерием классификации их как системных может служить универсальность выполняемых функций по отношению к прикладным задачам, ориентация на собственно вычислительную систему и приближенность к техническим средствам.

Можно также делить ПО на базовое (универсальное) и специализированное. К универсальному будут относиться системные программные средства и прикладные наиболее "общего", не зависящего от направленности вычислительной системы функциями: редакторы документов, файловые менеджеры, архиваторы и т.п.

  1. Операционная система. Основные функции ос. Структура операционной системы.

Назначение и общая структура ОС

ОС является центральным элементом системного ПО. Ее основные функции:

– обеспечение согласованного функционирования аппаратных и программных средств;

– предоставление возможности общего управления системой.

К основным задачам ОС относятся:

– управление процессами (задачами, потоками, программами, т.е. объектами, потребляющими процессорное время);

– управление ресурсами: памятью, внешними устройствами, файловой системой;

– управление вводом-выводом;

– общее управление и синхронизация.

Саму ОС можно представить как ядро и его программный интерфейс (см. рис. хх).

Ядро ОС осуществляет планирование и управление всеми ресурсами и процессами системы, т.е. выполняет функции, указанные выше.

Программный интерфейс ядра (ApplicationProgramInterface – API) обеспечивает доступ к функциям (и объектам) ядра со стороны прикладных программ.

Основные подсистемы ядра функционируют в привилегированном режиме (если в системе вообще предусмотрены уровни привилегий), все остальные программы – в "пользовательском", и они не имеют возможности обращаться к ресурсам вычислительной системы (аппаратуре) напрямую. Таким образом, "правильно" организованная ОС должна изолировать прикладные программы от аппаратуры, защищая одновременно и от сложностей взаимодействия с аппаратурой, и от некорректного поведения прикладных программ.

(В относительно несложных ОС, не требующих многозадачности, или в специализированных деление на привилегированный системный и непривилегированный пользовательский уровень отсутствует, т.к. не требуется. Пример – MS-DOS.)

3) подсистемы, относимые к ОС, но не входящие в ядро.

В некоторых случаях операционную систему можно считать целиком состоящей из одного ядра, к которому обращаются прочие системные и прикладные программы. В других – ядро имеет более или менее сложно внутреннее деление на части, обладающие различной функциональностью и привилегиями (см. ниже).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]