Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

os

.txt
Скачиваний:
1
Добавлен:
06.02.2024
Размер:
33.18 Кб
Скачать
1. Эволюция операционных систем:
1) Первое поколение - 40-е годы. Первые цифровые вычислительные машины без ОС. Организация вычислительного процесса решается программистом с пульта управления.
2) Второе поколение - 50-е годы. Появление прообраза ОС - мониторные системы, реализующие систему пакетной обработки заданий.
3) Третье поколение - 1965-1980 г.г. Переход к интегральным схемам. IBM/360. Реализованы практически все основные концепции, присущие современным ОС: разделение времени и многозадачность, разделение полномочий, реальный масштаб времени, файловые структуры и файловые системы.
4) Четвертое поколение - Последнее десятилетие. Особое внимание корпоративным сетевым ОС, для которых характерны высокая степень масштабируемости, поддержка сетевой работы, развитые средства обеспечения безопасности, способность работать в гетерогенной среде, наличие средств централизованного администрирования.


2. Определение операционной системы - это часть системного программного обеспечения, предоставляющая программный интерфейс для взаимодействия с компьютером, управляя прикладными программами и распределяя аппаратные ресурсы для их выполнения. В широком смысле под операционной системой понимается совокупность ядра операционной системы и работающих поверх него программ и утилит, предоставляющих интерфейс для взаимодействия пользователя с компьютером.
ОС как виртуальная машина - это подход, при котором операционная система создает виртуальную машину, которая абстрагирует аппаратные ресурсы компьютера для приложений.
ОС как система управления ресурсами - это подход, при котором операционная система управляет доступом к ресурсам компьютера, таким как процессор, память, диски и т.д.

3. Функциональные компоненты ОС автономного компьютера - ядро операционной системы, драйверы устройств, файловая система, система управления памятью, система управления процессами, система безопасности, пользовательский интерфейс.

4. Сетевые ОС, функциональные компоненты сетевой ОС - комплекс веб-сервисов, объединенных для запуска на одной странице с использованием веб-браузера, позволяющих достичь такого же уровня функциональности, как и на десктопных ОС. Занимаются управлением сетевыми ресурсами, пользователями и группами, сетевых протоколов, системой управления безопасностью. Примеры: Windows (от Xp до 11), FreeBSD, Solaris и т.п.

5. Одноранговые и серверные сетевые ОС - одноранговые сетевые ОС используют принцип равноправности узлов сети, в то время как серверные сетевые ОС используют централизованное управление ресурсами.

6. Требования к современным ОС - функциональная полнота и эффективность управления ресурсами, модульность и расширяемость, переносимость и многоплатформенность, совместимость на уровне приложений и пользовательских интерфейсов, надежность и отказоустойчивость, безопасность и производительность.

7. Ядро и вспомогательные модули ОС - ядро операционной системы отвечает за управление ресурсами компьютера, вспомогательные модули предоставляют дополнительную функциональность, такую как драйверы устройств, файловые системы и т.д.

8. Привилегированный режим, системный вызов - привилегированный режим - это режим работы процессора, в котором операционная система имеет полный доступ к ресурсам компьютера. Системный вызов - это механизм, который позволяет приложениям обращаться к функциям операционной системы.

9. Многослойная структура ОС - модель, которая описывает операционную систему как набор из 3 слоев: Нижний слой - аппаратура, промежуточный - ядро, а утилиты, обрабатывающие программы и приложения, составляют верхний слой системы.

10. Типовые средства аппаратной поддержки ОС - интерфейсы ввода-вывода, системные таймеры, контроллеры прерываний, аппаратные средства управления памятью.

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

12. Переносимость ОС - способность операционной системы работать на различных аппаратных платформах.

13. Микроядерная архитектура - архитектура операционной системы, при которой ядро операционной системы содержит только минимальный набор функций, а дополнительная функциональность реализуется в виде отдельных модулей.

14. Преимущества и недостатки микроядерной архитектуры - преимущества: легковесность, гибкость, масштабируемость. Недостатки: производительность, сложность разработки.

15. Двоичная совместимость, совместимость исходных текстов - двоичная совместимость - способность программ, созданных для одной платформы, работать на другой платформе без изменений. Совместимость исходных текстов - способность программных исходных кодов, созданных для одной платформы, работать на другой платформе без изменений.

16. Способы реализации прикладных программных сред - нативные приложения, веб-приложения, гибридные приложения.

17. Мультипрограммирование - способность ОС запускать несколько процессов одновременно. Характерные критерии эффективности - использование процессорного времени, использование памяти, скорость переключения контекста.

18-20. Мультипрограммирование в системах пакетной обработки, в системах разделения времени, в системах реального времени - в системах пакетной обработки процессы выполняются по очереди, в системах разделения времени процессы получают прерывистое использование процессора, в системах реального времени процессы должны быть выполнены в строго заданные сроки.

21. Мультипроцессорная обработка - это метод, при котором несколько процессоров работают одновременно для выполнения задач.

22. Понятия "процесс" и "поток" - процесс - это программа, которая выполняется на компьютере. Поток - это легковесный процесс, который может выполняться параллельно с другими потоками в рамках одного процесса.

23. Создание процессов, пример создания процессов в UNIX - процессы могут быть созданы при помощи функции fork() в UNIX.

24. Планирование и диспетчеризация потоков - это процесс, при котором операционная система управляет выделением процессорного времени для каждого потока.

25. Состояния потока - поток может находиться в состоянии готовности, выполнения или блокировки.

26. Вытесняющие и невытесняющие алгоритмы планирования - вытесняющие алгоритмы планирования могут прерывать выполнение текущего потока, чтобы назначить процессорное время другому потоку. Невытесняющие алгоритмы планирования не прерывают выполнение текущего потока.

27. Алгоритмы планирования, основанные на квантовании - это алгоритмы, при которых каждому потоку выделяется определенное количество процессорного времени, называемое квантом.

28. Алгоритмы планирования, основанные на приоритетах - это алгоритмы, при которых каждому потоку назначается приоритет, который определяет, какой поток получит процессорное время первым.

29. Смешанные алгоритмы планирования - это алгоритмы, которые комбинируют в себе элементы вытесняющих и невытесняющих алгоритмов.

30. Планирование в системах реального времени - это процесс, при котором операционная система гарантирует выполнение задач в определенные моменты времени.

31. Необходимый критерий существования расписания - каждая задача должна быть выполнена до своего дедлайна.

32. Алгоритм Liu, Layland для жестких систем реального времени - этот алгоритм определяет возможность выполнения задач в жестких системах реального времени.

33. Моменты перепланировки - это моменты, когда операционная система переключается между потоками.

34. Прерывания - это сигналы, которые передаются операционной системе для того, чтобы она прервала выполнение текущего потока и обработала прерывание.

35. Типы планирования (долгосрочное, среднесрочное, краткосрочное, ввода-вывода) - долгосрочное планирование - это процесс планирования запуска новых задач, среднесрочное планирование - это процесс планирования использования памяти, краткосрочное планирование - это процесс планирования выделения процессорного времени, планирование ввода-вывода - это процесс планирования использования устройств ввода-вывода.

36. Критерии эффективности краткосрочного планирования - среднее время ожидания, среднее время выполнения, коэффициент использования процессора.

37. Краткосрочное планирование с использованием приоритетов - это метод планирования, при котором каждому потоку назначается приоритет.

38-39. Параметры, которые учитываются при краткосрочном планировании, обозначения, FCFS (First-Come-First-Served, оно же FIFO), Round Robin ("карусель"), SPN (Shortest Process Next), SRT (Shortest Remaining Time), HRRN (Highest Response Ratio Next) - FCFS (First-Come-First-Served) - первый пришел, первый обслужен; Round Robin ("карусель") - каждому потоку выделяется квант процессорного времени; SPN (Shortest Process Next) - выбирается поток с наименьшим оставшимся временем выполнения; SRT (Shortest Remaining Time) - выбирается поток с наименьшим оставшимся временем выполнения; HRRN (Highest Response Ratio Next) - выбирается поток с наибольшим отношением времени ожидания к времени выполнения.

40. Синхронизация процессов и потоков, цели и средства синхронизации - синхронизация процессов и потоков необходима для предотвращения гонок данных и других проблем, возникающих при параллельном выполнении задач. Средства синхронизации включают мьютексы, семафоры, условные переменные и другие.

41. Гонки (race) - это ситуация, когда два или более процесса или потока пытаются получить доступ к одному ресурсу одновременно, что может привести к некорректным результатам. Например, гонки могут возникнуть при обращении к общей переменной из нескольких потоков.

42. Критическая секция - это участок кода, который может использоваться только одним потоком одновременно. Блокирующие переменные и семафоры могут использоваться для реализации критических секций.

43. Тупики (deadlock) - это ситуация, когда несколько процессов или потоков заблокированы, ожидая друг друга , чтобы освободить ресурсы, необходимые для продолжения работы. Например, тупики могут возникнуть при использовании блокировок нескольких ресурсов в различных потоках.

44. Способы решения проблемы тупиков - PAID (Prevent, Avoid, Ignore, Detect) - предотвращение (Prevent) тупиков путем использования алгоритмов, которые не могут привести к тупикам, избегание (Avoid) тупиков путем установки ограничений на использование ресурсов, игнорирование (Ignore) тупиков путем перезапуска процессов, которые заблокированы тупиком, обнаружение (Detect) тупиков путем мониторинга состояния процессов и потоков.

45. Сигналы - это средство обмена сообщениями между процессами и потоками в операционной системе. Сигналы могут использоваться для передачи информации о событиях, таких как завершение процесса или обработка ошибок.

46. Функции ОС по управлению памятью - выделение памяти для процессов, управление доступом к памяти, освобождение памяти.

47. Типы адресов - физические адреса и виртуальные адреса. Физические адреса являются адресами физической памяти, а виртуальные адреса - адресами, которые используются процессом и переводятся в физические адреса операционной системой.

48. Соотношение объемов виртуальной и физической памяти - виртуальная память может быть больше физической памяти, потому что часть виртуальной памяти может храниться на диске.

49. Алгоритмы распределения памяти - разделение памяти на фиксированные разделы, использование динамических разделов, перемещаемые разделы.

50. Распределение памяти фиксированными разделами - память разделяется на несколько фиксированных разделов, которые выделяются процессам по мере необходимости.

51. Распределение памяти динамическими разделами - память выделяется процессам по мере необходимости, каждый процесс может получить только ту память, которая ему нужна.

52. Перемещаемые разделы - память может быть перемещена в другое место в памяти, если это необходимо.

53. Свопинг и виртуальная память - свопинг - это процесс перемещения неиспользуемых страниц памяти на диск, чтобы освободить оперативную память. Виртуальная память - это расширение оперативной памяти за счет использования дискового пространства.

54. Страничное распределение памяти - это метод, при котором память разбивается на страницы фиксированного размера, которые могут быть загружены в оперативную память по мере необходимости.

55. Сегментное распределение памяти - это метод, при котором память разбивается на сегменты различных размеров, которые могут быть загружены в оперативную память по мере необходимости.

56. Сегментно-страничное распределение памяти - это комбинация методов страничного и сегментного распределения памяти.

57. Разделяемые сегменты памяти - это сегменты памяти, которые могут быть использованы несколькими процессами одновременно.

58. Иерархия запоминающих устройств - это система, в которой скорость доступа к памяти уменьшается с увеличением ее емкости. На вершине иерархии находится регистры процессора, затем кэш-память, оперативная память и жесткий диск.

59. Кэш-память (cache) - это быстрая память, которая используется для временного хранения данных, которые часто запрашиваются процессором.

60. Принцип действия кэш-памяти - кэш-память хранит копии данных из оперативной памяти. Когда процессор запрашивает данные, кэш-память проверяет, есть ли данные в кэше. Если данные есть в кэше, они быстро возвращаются процессору, иначе данные извлекаются из оперативной памяти и копируются в кэш-память для быстрого доступа в будущем.

61. Проблема согласования данных (для кэш-памяти) - возникает при использовании кэш-памяти, когда данные в кэше и в основной памяти могут быть несогласованными. Для решения этой проблемы используется кэш-контроль, который обеспечивает согласованность данных в кэше и в основной памяти.

62. Способы отображения основной памяти на кэш - прямое отображение, полностью ассоциативное отображение, наборно-ассоциативное отображение.

63. Задачи ОС по управлению файлами и устройствами - управление доступом к файлам и устройствам, обеспечение безопасности и контроля доступа, управление прерываниями, обеспечение ввода-вывода данных.

64. Многослойная модель подсистемы ввода-вывода, многоуровневые драйверы - модель, в которой подсистема ввода-вывода состоит из нескольких уровней, каждый из которых обеспечивает определенные функции. Драйверы находятся на нижних уровнях и обеспечивают взаимодействие с аппаратными средствами.

65. Специальные файлы (устройства) - файлы, которые представляют устройства, такие как жесткие диски, принтеры и т. д. Они используются для ввода-вывода данных.

66. Цели и задачи файловой системы - обеспечение доступа к файлам, управление файлами, обеспечение безопасности и контроля доступа, управление пространством на диске.

67. Типы файлов - обычные файлы, каталоги, символические ссылки, блочные устройства, символьные устройства.

68. Иерархическая структура файловой системы - файловая система организована в виде иерархии каталогов, начиная с корневого каталога.

69. Имена файлов - уникальные имена, которые присваиваются файлам для их идентификации.

70. Монтирование - процесс подключения файловой системы к файловому дереву, чтобы ее можно было использовать.

71. Атрибуты файлов - метаданные, которые хранят информацию о файлах, такие как дата создания, дата последнего доступа и права доступа.

72. Логическая организация файла - способ, которым данные в файле организованы логически. Например, файл может быть организован в виде таблицы с колонками и строками.

73. Диски, разделы, секторы, кластеры - компоненты дискового накопителя. Диск состоит из нескольких разделов, разделы разбиваются на секторы, а кластеры - это группы секторов.

74. Виды дисковых накопителей, термины - жесткие диски, твердотельные накопители, оптические диски. Термины: емкость, скорость вращения, время доступа.

75. Параметры, влияющие на производительность дисковых накопителей. Время доступа к данным - время, которое требуется для перемещения головок диска на нужный сектор.

76. Планирование дисковой активности, алгоритмы планирования - процесс управления дисковой активностью. Алгоритмы планирования включают FCFS, SSTF, SCAN, C-SCAN.

77. Физическая организация и адресация файла - способ, которым данные файла хранятся на диске и адресуются.

78. Файловые операции, два способа организации - чтение и запись. Два способа организации - последовательный доступ и произвольный доступ.

79. Стандартные файлы ввода-вывода, перенаправление ввода и вывода - стандартные файлы, которые используются для ввода и вывода данных. Перенаправление ввода и вывода позволяет перенаправлять данные из одного файла в другой.

80. Контроль доступа к файлам - механизмы обеспечения безопасности и контроля доступа к файлам, такие как права доступа и атрибуты безопасности.

81. Пример контроля доступа в ОС UNIX:

В ОС UNIX для контроля доступа к файлам используются права доступа. Каждый файл имеет три типа прав доступа: для владельца файла, для группы пользователей и для всех остальных пользователей. Каждый тип прав доступа может быть установлен на чтение, запись и выполнение. Например, для установки прав доступа на чтение, запись и выполнение для владельца файла используется команда "chmod 700 filename".

82. Отображаемые в память файлы:

Отображаемые в память файлы - это файлы, которые могут быть загружены в память компьютера и использованы как обычные переменные в программе. Они могут быть использованы для обмена данными между процессами или для создания общей памяти.

83. JBOD, RAID уровни 0,1:

JBOD (Just a Bunch Of Disks) - это метод хранения данных, при котором несколько жестких дисков объединяются в единую логическую единицу. Такой метод не обеспечивает защиту данных и не обеспечивает увеличения производительности.

RAID уровни 0,1 - это методы хранения данных, при которых используются несколько жестких дисков. RAID 0 используется для увеличения производительности, а RAID 1 - для обеспечения защиты данных.

84. RAID уровни 2,3,4:

RAID уровни 2, 3, 4 - это методы хранения данных, при которых используются несколько жестких дисков. RAID 2 используется для обеспечения высокой скорости передачи данных, RAID 3 - для обеспечения защиты данных и RAID 4 - для обеспечения высокой производительности.

85. RAID уровни 5,6:

RAID уровни 5, 6 - это методы хранения данных, при которых используются несколько жестких дисков. RAID 5 используется для обеспечения высокой производительности и защиты данных, а RAID 6 - для обеспечения высокой защиты данных при одновременном снижении производительности.