Наименьшее оставшееся время выполнения
Вопросы и ответы к экзамену по предмету
«Операционные системы и среды»
1. Понятие операционная система
Операционная система – спец. программа, которая контролирует работу прикладных программ и системными приложениями, а также исполняет роль интерфейса между приложениями и аппаратным обеспечением ПК.
– совокупность программных средств, обеспечивающая управление аппаратной частью ВМ и прикладными программами, а также их взаимодействие между собой и человеком.
2. Основные функции
Основные функции:
Выполнение по запросу программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
Загрузка программ в оперативную память и их выполнение.
Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
Обеспечение пользовательского интерфейса.
Сохранение информации об ошибках системы.
Дополнительные функции:
Параллельное или псевдопараллельное выполнение задач (многозадачность).
Эффективное распределение ресурсов вычислительной системы между процессами.
Разграничение доступа различных процессов к ресурсам.
Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам.
Взаимодействие между процессами: обмен данными, взаимная синхронизация.
Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.
Многопользовательский режим работы и разграничение прав доступа (см. аутентификация, авторизация).
3. Типы Операционных систем;
Операционная система пакетной обработки – обрабатывает пакет заданий, т. е. несколько заданий, подготовленных одним или разными пользователями. Взаимодействие между пользователем и его заданием во время обработки невозможно или крайне ограничено. Под управлением операционной системы пакетной обработки ЭВМ может функционировать в однопрограммном и мультипрограммном режимах.
Операционные системы разделения времени - обеспечивают одновременное обслуживание многих пользователей, позволяя каждому пользователю взаимодействовать со своим заданием в режиме диалога. Эффект одновременного обслуживания достигается разделением процессорного времени и других ресурсов между несколькими вычислительными процессами, которые соответствуют отдельным заданиям пользователей. Операционная система предоставляет ЭВМ каждому вычислительному процессу в течение небольшого интервала времени; если вычислительный процесс не завершился к концу очередного интервала, он прерывается и помещается в очередь ожидания, уступая ЭВМ другому вычислительному процессу. ЭВМ в этих системах функционирует в мультипрограммном режиме.
Операционная система разделения времени может применяться не только для обслуживания пользователей, но и для управления технологическим оборудованием. В этом случае “пользователями” являются отдельные блоки управления исполнительными устройствами, входящими в состав технологического оборудования: каждый блок взаимодействует с определённым вычислительным процессом в течение интервала времени, достаточного для передачи управляющих воздействий на исполнительное устройство или приёма информации от датчиков.
Операционные системы реального времени - гарантируют оперативное выполнение запросов в течение заданного интервала времени. Запросы могут поступать от пользователей или от внешних по отношению к ЭВМ устройств, с которыми системы связаны каналами передачи данных. При этом скорость вычислительных процессов в ЭВМ должна быть согласована со скоростью процессов, протекающих вне ЭВМ, т. е. согласована с ходом реального времени. Эти системы организуют управление вычислительными процессами таким образом, чтобы время ответа на запрос не превышало заданных значений. Необходимое время ответа определяется свойствами объектов (пользователей, внешних устройств), обслуживаемых системой. Операционные системы реального времени используются в информационно– поисковых системах и системах управления технологическим оборудованием. ЭВМ в таких системах функционирует чаще в многозадачном режиме.
Диалоговые операционные системы - получили широкое распространение в персональных ЭВМ. Эти системы обеспечивают удобную форму диалога с пользователем через дисплей при вводе и выполнении команд. Для выполнения часто используемых последовательностей команд, т. е. заданий, диалоговая операционная система предоставляет возможность пакетной обработки. Под управлением диалоговой ОС ЭВМ обычно функционирует в однопрограммном режиме.
Многопользовательская система, система с коллективным доступом, система коллективного доступа(multiuser system, multiaccess system) - вычислительная система или ее часть (например операционная система), позволяющая нескольким пользователям одновременно иметь доступ к одной ЭВМ со своего терминала (локального или удаленного)
Однопользовательская система (one user system) - операционная система, не обладающая свойствами многопользовательской.
Сетевая операционная система, СОС (NOS, Network Operating System) - операционная система, предназначенная для обеспечения работы вычислительной сети. Примерами сетевых операционных систем являются Windows NT, Windows 2000, Novel Netware, Unix, Linux и др.
4. Архитектура ОС Linux;
Линукс-системы представляют собой модульные Unix-подобные операционные системы. В большей степени дизайн Линукс-систем базируется на принципах, заложенных в Unix в течение 1970-х и 1980-х годов. Такая система использует монолитное ядро Линукс, которое управляет процессами, сетевыми функциями, периферией и доступом к файловой системе.
Драйвера устройства либо интегрированы непосредственно в ядро, либо добавлены в виде модулей, загружаемых во время работы системы.
Отдельные программы, взаимодействуя с ядром, обеспечивают функции системы более высокого уровня. Например, пользовательские компоненты GNU являются важной частью большинства Линукс-систем, включающей в себя наиболее распространенные реализации библиотеки языка Си, популярных оболочек операционной системы, и многих других общих инструментов Unix, которые выполняют многие основные задачи операционной системы.
Графический интерфейс пользователя (или GUI) в большинстве систем Линукс построен на основе X Window System.
В Линукс-системах пользователи работают через интерфейс командной строки (CLI), графический интерфейс пользователя (GUI), или, в случае встраиваемых систем, через элементы управления соответствующих аппаратных средств.
Настольные системы, как правило, имеют графический пользовательский интерфейс, в котором командная строка доступна через окно эмулятора терминала или в отдельной виртуальной консоли.
Большинство низкоуровневых компонентов Линукс, включая пользовательские компоненты GNU, используют исключительно командную строку.
Командная строка особенно хорошо подходит для автоматизации повторяющихся или отложенных задач, а также предоставляет очень простой механизм межпроцессного взаимодействия.
Программа графического эмулятора терминала часто используются для доступа к командной строке с рабочего стола Линукс.
Линукс-системы обычно реализуют интерфейс командной строки при помощи оболочки операционной системы, которая также является традиционным способом взаимодействия с системой Unix.
Дистрибутивы, специально разработанные для серверов, могут использовать командную строку в качестве единственного интерфейса.
На настольных системах наибольшей популярностью пользуются пользовательские интерфейсы, основанные на таких средах рабочего стола как KDE Plasma Desktop, GNOME и Xfce, хотя также существует целый ряд других пользовательских интерфейсов. Самые популярные пользовательские интерфейсы основаны на X Window System (часто просто «X» или «иксы»).
«X» предоставляет прозрачность сети и позволяет графическим приложениям, работающим на одном компьютере, отображаться на другом компьютере, на котором пользователь может взаимодействовать с ними.
Другие графические интерфейсы, такие как FVWM, Enlightenment и Window Maker, могут быть классифицированы как простые менеджеры окон X Window System, которые предоставляют окружение рабочего стола с минимальной функциональностью.
Оконный менеджер предоставляет средства для управления размещением и внешним видом отдельных окон приложений, а также взаимодействует с X Window System.
Окружение рабочего стола включает в себя оконные менеджеры, как часть стандартной установки: (Metacity для GNOME, KWin для KDE, Xfwm для Xfce с 2010 года), хотя пользователь при желании может выбрать другой менеджер окон.
5. Ядро ОС;
Ядро (kernel) - основной компонент ОС, отвечающий за управление процессами, виртуальной памятью и драйверами устройств.
Ядро Linux представляет собой единый блок бинарного кода. Все коды ядра и структуры данных, в том числе драйверы устройств, коды распределения ресурсов и виртуальной памяти, сетевой поддержки, а так же файловая система - хранятся в едином адресном пространстве.
Преимуществом такой структуры является то, что не требуется никаких переключений при запросах процессами системных ресурсов или прерываниях от различных устройств.
Общее адресное пространство, однако, не препятствует модульности системы. По мере необходимости Linux подгружает в память либо выгружает из нее указанные модули.
В Linux все ядро работает в привилегированном режиме - режиме ядра. Никакая часть кода не работает в режиме пользователя. Фрагменты поддержки ОС, не требующие запуска в режиме ядра, помещаются в раздел системных библиотек.
6. Разделяемые системные библиотеки;
Содержат стандартный набор функций, используемых приложениями для запросов к системным сервисам ядра. В библиотеках хранятся также код функций отдельных сервисов ядра, исполняемых в обычном режиме без привилегий ядра.
При обращении приложения к системным ресурсам управление от части системы, работающей в пользовательском режиме, передается ядру. Библиотеки осуществляют контроль за корректностью представленного запроса и преобразование параметров/аргументов запроса к требуемому формату.
7. Системные утилиты;
Под системными утилитами (system utilities, программы управления системой) понимают программы, отвечающие за выполнение отдельных специализированных задач управления (управляющих функций системы).
Одни утилиты запускаются лишь один раз для инициализации и конфигурирования отдельных элементов системы, другие вызываются регулярно, например, утилиты принимающие запросы на регистрацию с терминалов системы, либо утилиты обновляющие файлы регистрации.
Не все утилиты выполняют функции системного администрирования. Часть системных программ отвечают за выполнение простых задач, в частности, просмотр каталогов, перенос и удаление файлов, просмотр содержимого файла.
Более сложные поддерживают некоторые функции обработки текстовых данных, например, сортировку данных либо поиск по заданному шаблону в тексте.
8. Пользователи и группы в ОС Linux;
Поскольку система Linux с самого начала разрабатывалась как многопользовательская, в ней предусмотрен такой механизм, как права доступа к файлам и каталогам. Он позволяет разграничить полномочия пользователей, работающих в системе.
Правильная настройка прав доступа позволяет повысить надёжность системы, защитив от изменения или удаления важные системные файлы. “Пользователями” системы Linux, выполняющими различные действия с файлами и каталогами, являются на самом деле вовсе не люди, а программы, выполняемые в системе — процессы.
У любого файла в системе есть владелец — один из пользователей. Однако каждый файл одновременно принадлежит и некоторой группе пользователей системы. Каждый пользователь может входить в любое количество групп, и в каждую группу может входить любое количество пользователей из числа определённых в системе.
Когда в системе создаётся новый пользователь, он добавляется по крайней мере в одну группу. В системе Linux при создании новой учётной записи создаётся специальная группа, имя которой совпадает с именем нового пользователя, и пользователь включается в эту группу. В дальнейшем администратор может добавить пользователя к другим группам.
9. Виды прав доступа;
Права доступа определяются по отношению к чтению, записи и исполнению. Эти права доступа могут быть предоставлены трём классам пользователей: владельцу файла (пользователю), группе, которой принадлежит файл, а также всем остальным пользователям, не входящим в эту группу.
Право на чтение ( r ) – даёт пользователю возможность читать содержимое файла или, если такой доступ разрешён к каталогам, просматривать содержимое каталога (используя команду ls)
Право на запись ( w ) – даёт пользователю возможность записывать или изменять файл, а право на запись для каталога — возможность создавать новые файлы или удалять файлы из этого каталога.
Право на исполнение ( x ) – позволяет пользователю запускать файл как программу или сценарий командной оболочки (разумеется, это действие имеет смысл лишь в том случае, если файл является программой или сценарием).
10. Описание работы с командой chmod;
Для изменения прав доступа используется команда chmod.
Если ввести в командной строке: ls -l example1.txt , то
появиться -rw-rw-r-- 1 user user 42 Мар 24 22:07 example1.txt
Теперь введите такую команду:
chmod o+w example1.txt
Команда o+w означает, что вы даете права «остальным» («others», обозначается буквой «о») на запись в файл example1.txt. Чтобы увидеть, к чему привело выполнение указанной команды, опять посмотрим на файл:
-rw-rw-rw- 1 user user 42 Мар 24 22:09 example1.txt
11. Основные понятия безопасности;
Безопасность (security), то есть способность системы защищать данные от несанкционированного доступа. Многие компании обладают ценной информацией, которую они тщательно охраняют. Это информация может быть технической, коммерческой, финансовой, юридической и т.д.
По мере того как возрастают объемы информации, хранящейся в компьютерных системах, необходимость в защите информации становится все важнее. Таким образом, защита информации от несанкционированного доступа является главной заботой всех операционных систем. Термины "безопасность" и "защита" иногда смешиваются.
Тем не менее, часто бывает полезно провести границу между общими проблемами, связанными с гарантированием того, что файлы не читаются и не модифицируются неавторизованными лицами, с одной стороны, и специфическими механизмами операционной системы, используемыми для обеспечения безопасности, с другой стороны. Чтобы избежать путаницы мы будем применять термин "безопасность" для обозначения общей проблемы и термин "механизм защиты" при описании специфических механизмов ОС.
12. Классификация угроз;
С позиции безопасности у компьютерной системы в соответствии с наличествующими угрозами есть три главные задачи. Первая задача, конфиденциальность данных, заключается в том, что секретные данные должны оставаться секретными.
| Задача | Угроза |
| Конфиденциальность данных | Демонстрация данных |
| Целостность данных | Порча или подделка данных |
| Доступность системы | Отказ обслуживания |
Целостность данных, означает, что неавторизованные пользователи не должны иметь возможность модифицировать данные без разрешения владельца. Модификация дынных в данном контексте означает не только изменение данных, но также их удаление или добавление фальшивых данных.
Доступность системы, означает, что никто не может вывести систему из строя. Атаки типа отказ в обслуживании становится все более распространенными.
13. базовые технологии безопасности;
Помимо различных угроз со стороны злоумышленников, существует опасность потери данных в результате несчастного случая.
Большая часть этих проблем может быть разрешена при помощи своевременного создания соответствующих резервных копий, хранимых на всякий случай вдали от оригинальных данных.
Один из самых распространенных способов защиты информации - криптография - наука, изучающая способы шифрования открытого текста.
Перечислим базовые технологии безопасности:
n Шифрование с секретным ключом – система шифрования, обладающая следующим свойством: по ключу шифрования легко найти ключ дешифрации.
n Шифрование с открытым ключом - в этом случае для дешифрации используется простая операция, но для дешифрации требуется выполнить огромный объем сложных вычислений.
n Необратимые функции - зашифрованное сообщение невозможно расшифровать или очень трудно.
n Цифровые подписи - удостоверяют документы, как и настоящие подписи.
14. Аутентификация, авторизация, аудит;
Аутентификация - процесс определения взаимодействия клиента с настоящим файловым сервером.
Большинство методов аутентификации пользователей основаны на распознавании:
n Чего-то, известного пользователю (например, пароля);
n Чего-то, имеющегося у пользователя (например, смарт-карта);
Чего-то, чем является пользователь (аутентификация с использованием биометрических данных).
15. Отказоустойчивость файловых и дисковых систем;
Отказоустойчивость (fault tolerance), способность системы выполнять свои функции при отказе отдельных элементов аппаратуры и неполной доступности данных. В отказоустойчивой системе отказ одного из ее элементов приводит к некоторому снижению качества ее работы (деградации), а не к полному останову. Так, при отказе одного из файловых серверов в увеличивается только время доступа к базе данных из-за уменьшения степени распараллеливания запросов, но в целом система будет продолжать выполнять свои функции.
16. Избыточные дисковые подсистемы RAID;
Это класс устройств ввода-вывода. RAID (Redundant Array of Inexpensive - переводится как массив недорогих (независимых) дисков с избыточностью). SLED (Single Large Expensive Disk - одиночный большой и дорогой дисковый накопитель).
Идея, лежит в основе системы RAID, состоит в том, что на компьютер (обычно) большой сервер устанавливаются коробка, полная дисков. Вместо обычного дискового контроллера устанавливается специальный RAID-контроллер, а весь набор дисков выглядит с точки зрения операционной системы как один большой (и дорогой) дисковый накопитель, то есть SLED, но обладает более высокой производительностью большой надежностью.
Операционная система воспринимает их как один большой диск. Таким образом, для использования системы RAID не требуется никаких изменений программного обеспечения, что является большим плюсом с точки зрения системных администраторов.
Еще одно свойство всех RAID-систем состоит в том, что данные распределяются по дискам, а это позволят распараллелить операции.
17. Распределение памяти с фиксированными разделами;
Память просто разделяется на несколько разделов (возможно, не равных). Процессы могут быть разными, поэтому каждому разделу необходим разный размер памяти.
Системы могут иметь:
n общую очередь ко всем разделам
n к каждому разделу отдельную очередь

n Недостаток системы многих очередей очевиден, когда большой раздел может быть свободным, а к маленькому выстроилась очередь.
Алгоритмы планирования в случае одной очереди:
n поочередный
n выбирается задача, которая максимально займет раздел
Также может быть смешанная система.
18. Распределение памяти динамическими разделами;
В такой системе сначала память свободна, потом идет динамическое распределение памяти.

Недостатки:
n Сложность
n Память фрагментируется
19. Перемещаемые разделы памяти;
Это один из методов борьбы с фрагментацией. Но на него уходит много времени.

20. Основные 4 права пользователя GPL;
21. Основные понятия планирования процессов;
Планирование - обеспечение поочередного доступа процессов к одному процессору.
Планировщик - отвечающая за это часть операционной системы.
Алгоритм планирования - используемый алгоритм для планирования.
Ситуации, когда необходимо планирование:
n Когда создается процесс
n Когда процесс завершает работу
n Когда процесс блокируется на операции ввода/вывода, семафоре, и т.д.
n При прерывании ввода/вывода
Алгоритм планирования без переключений (неприоритетный) - не требует прерывание по аппаратному таймеру, процесс останавливается только когда блокируется или завершает работу.
Алгоритм планирования с переключениями (приоритетный) - требует прерывание по аппаратному таймеру, процесс работает только отведенный период времени, после этого он приостанавливается по таймеру, чтобы передать управление планировщику.
Необходимость алгоритма планирования зависит от задач, для которых будет использоваться операционная система.
22. Задачи алгоритмов планирования;
Для всех систем
Справедливость - каждому процессу справедливую долю процессорного времени
Контроль над выполнением принятой политики
Баланс - поддержка занятости всех частей системы (например: чтобы были заняты процессор и устройства ввода/вывода)
Системы пакетной обработки
Пропускная способность - количество задач в час
Оборотное время - минимизация времени на ожидание обслуживания и обработку задач.
Использование процесса - чтобы процессор всегда был занят.
Интерактивные системы
Время отклика - быстрая реакция на запросы
Соразмерность - выполнение ожиданий пользователя (например: пользователь не готов к долгой загрузке системы)
Системы реального времени
Окончание работы к сроку - предотвращение потери данных
Предсказуемость - предотвращение деградации качества в мультимедийных системах (например: потерь качества звука должно быть меньше чем видео)
"Первый пришел - первым обслужен" (FIFO - First In Fist Out)
Процессы ставятся в очередь по мере поступления.
+ Простота
+ Справедливость (как в очереди покупателей, кто последний пришел, тот оказался в конце очереди)
- Процесс, ограниченный возможностями процессора может затормозить более быстрые процессы, ограниченные устройствами ввода/вывода.
"Кратчайшая задача - первая"
+Уменьшение оборотного времени
+Справедливость (как в очереди покупателей, кто без сдачи проходит в перед)
- Длинный процесс занявший процессор, не пустит более новые краткие процессы, которые пришли позже.
Наименьшее оставшееся время выполнения
Аналог предыдущего, но если приходит новый процесс, его полное время выполнения сравнивается с оставшимся временем выполнения текущего процесса.
23. Что такое эмуляция? Дать определение;
Эмуля́ция (emulation) — воспроизведение программными или аппаратными средствами либо их комбинацией работы других программ или устройств.
Аппаратные или программные средства для выполнения программ, записанных в системе команд другого устройства (вычислительной машины). Программа, выполняющая функции, обычно реализуемые некоторым внешним устройством.
24. Эмуляция ядра Windows в Linux;
Wine — это свободное программное обеспечение, позволяющее пользователям UNIX-подобных систем архитектуры x86 (и других архитектур, при наличии совместимости, например, AMD64) исполнять 16- 32- и 64- битные приложения Microsoft Windows (64-битные приложения находятся в стадии ранней реализации). Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные системы.
25. Виртуальные машины;
VirtualBox (Oracle VM VirtualBox) — программный продукт виртуализации дляоперационных систем Microsoft Windows, Linux, FreeBSD, Mac OS X, Solaris/OpenSolaris,ReactOS, DOS и иных ОС
Платформа VirtualBox была выпущена в двух вариантах:
• Ограниченная версия продукта с открытым исходным кодом под лицензией GNU General Public License (GPL). В ней отсутствуют некоторые возможности, например поддержка USB и RDP сервера.
• Полная версия продукта с закрытым исходным кодом также доступна для бесплатного персонального использования. Если продукт будет использоваться в производственной среде необходимо приобретение лицензий.
VMware Player — бесплатный для некоммерческого использования программный продукт, на основе виртуальной машины VMware Workstation, но с ограниченной функциональностью, предназначенный для запуска образов виртуальных машин, созданных в других продуктах VMware, а также в Microsoft VirtualPC и Symantec LiveState Recovery. Начиная с версии 3.0 VMware Player позволяет также создавать образы виртуальных машин. Ограничение функциональности теперь касается в основном функций, предназначенных для IT-специалистов и разработчиков ПО.
Microsoft Virtual PC — программный пакет виртуализации дляоперационной системы Windows, а также программа эмуляции для AppleMac OS.
Программа была создана компанией Connectix в 1997 году для операционной системы Mac OS на платформе PowerPC Macintosh. В 2001 году была выпущена версия 4.0 для ОС Windows. Connectix поставляла Virtual PC с различными гостевыми ОС, включая Linux и OS/2. В феврале 2003 года права на продукты Virtual PC и Virtual Server были куплены компанией Майкрософт. В июле 2006 года Майкрософт выпустила Windows-версию пакета для бесплатного использования.
26. Виртуальная машина Java;
Java Virtual Machine — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java интерпретирует и исполняет Байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac). JVM может также использоваться для выполнения программ, написанных на других языках программирования.
JVM является ключевым компонентом платформы Java. Так как виртуальные машины Java доступны для многих аппаратных и программных платформ, Java может рассматриваться и как связующее программное обеспечение, и как самостоятельная платформа, отсюда принцип «написано однажды, запускается везде» (write once, run anywhere). Использование одного байт-кода для многих платформ позволяет описать Java как «скомпилировано однажды, запускается везде» (compile once, run anywhere).
27. Автозагрузка приложений в ОС Windows;
Большинство приложений, которые автоматически запускаются с операционной системой, вы можете увидеть в области уведомлений. Для управления приложениями автозапуска, пользователи операционных систем Windows обычно используют утилиту «Конфигурация системы».
Программа «Конфигурация системы» - это утилита операционной системы Windows, предназначенная для управления автоматически запускаемыми программами и загрузкой системы, а также определения проблем, которые могут помешать запуску операционной системы в обычном режиме. При помощи этой утилиты вы можете изменять параметры загрузки, отключать службы и автоматически запускаемые программы.
28. Настройка автозагрузки ОС Windows;
Приложения, которые запускаются с учетной записью компьютера, не зависят от того, под какой записью пользователь выполнил вход в систему. Эти параметры вы можете найти в разделе HKLM\Software\Microsoft\Windows\CurrentVersion\Run
Приложения, которые запускаются с учетной записью пользователя, для каждой учетной записи могут отличаться. Эти параметры вы можете найти в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Run
Для того чтобы добавить новое приложение (программу «Редактор реестра») в автозапуск операционной системы Windows для всех существующих пользователей, выполните следующие действия:
u Откройте редактор реестра;
Перейдите в раздел HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run;
u Создайте строковый параметр. Название можете указать произвольное, например, Regedit. В значении параметра укажите полный путь к приложению и, при необходимости, параметры для запуска, например, c:\Windows\System32\.regedit32.exe;
u Перезагрузите компьютер.
29. Требования, предъявляемые к ОС;
Главным требованием, предъявляемым к операционной системе, является способность выполнения основных функций: эффективного управления ресурсами и обеспечения удобного интерфейса для пользователя и прикладных программ.
Современная ОС должна реализовывать мультипрограммную обработку, виртуальную память, свопинг, поддерживать многооконный интерфейс, а также выполнять многие другие, совершенно необходимые функции. Кроме этих функциональных требований к операционным системам предъявляются не менее важные рыночные требования.
30. Свойство ОС: Расширяемость;
Код должен быть написан таким образом, чтобы можно было легко внести дополнения и изменения, если это потребуется, и не нарушить целостность системы.
31. Свойство ОС: Надежность и отказоустойчивость;
Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть всегда предсказуемыми, а приложения не должны быть в состоянии наносить вред ОС.
32. Свойство ОС: Совместимость;
ОС должна иметь средства для выполнения прикладных программ, написанных для других операционных систем. Кроме того, пользовательский интерфейс должен быть совместим с существующими системами и стандартами.
Одним из аспектов совместимости является способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы.
Необходимо разделять вопросы двоичной совместимости и совместимости на уровне исходных текстов приложений. Двоичная совместимость достигается в том случае, когда можно взять исполняемую программу и запустить ее на выполнение на другой ОС. Для этого необходимы: совместимость на уровне команд процессора, совместимость на уровне системных вызовов и даже на уровне библиотечных вызовов, если они являются динамически связываемыми.
33. Свойство ОС: Производительность;
Система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяет аппаратная платформа.
34. Свойство ОС: Безопасность;
ОС должна обладать средствами защиты ресурсов одних пользователей от других.
Основы стандартов в области безопасности были заложены "Критериями оценки надежных компьютерных систем". Этот документ, изданный в США в 1983 году национальным центром компьютерной безопасности (NCSC - National Computer Security Center), часто называют Оранжевой Книгой.
В соответствии с требованиями Оранжевой книги безопасной считается такая система, которая "посредством специальных механизмов защиты контролирует доступ к информации таким образом, что только имеющие соответствующие полномочия лица или процессы, выполняющиеся от их имени, могут получить доступ на чтение, запись, создание или удаление информации".
Иерархия уровней безопасности, приведенная в Оранжевой Книге, помечает низший уровень безопасности как D, а высший - как А.
• В класс D попадают системы, оценка которых выявила их несоответствие требованиям всех других классов.
• Основными свойствами, характерными для С-систем, являются: наличие подсистемы учета событий, связанных с безопасностью, и избирательный контроль доступа.
• Системы уровня В основаны на помеченных данных и распределении пользователей по категориям, то есть реализуют мандатный контроль доступа. Каждому пользователю присваивается рейтинг защиты, и он может получать доступ к данным только в соответствии с этим рейтингом
• Уровень А является самым высоким уровнем безопасности, он требует в дополнение ко всем требованиям уровня В выполнения формального, математически обоснованного доказательства соответствия системы требованиям безопасности.
35. Понятия «internetworking» и «interoperability»;
Компьютерная сеть - сеть - это совокупность компьютеров и телекоммуникационного оборудования соединенных между собой.
Каждая сеть имеет свой номер, который используется на сетевом уровне при выполнении маршрутизации. Когда две или более сетей организуют совместную транспортную службу, то такой режим взаимодействия обычно называют межсетевым взаимодействием (internetworking).
Так как понятие "номер сети" определяется на сетевом уровне, то оно является относительным, то есть, если в одном компьютере установлено программное обеспечение, поддерживающее несколько протоколов сетевого уровня (например, TCP и SPX), то данный компьютер может принадлежать нескольким сетям.
При рассмотрении вопросов межсетевого взаимодействия часто используется еще один англоязычный термин - interoperability.
В то время как термин internetworking обозначает взаимодействие сетей на нижних уровнях, непосредственно связанных с транспортировкой пакетов, в понятие interoperability входит обеспечение согласования верхних уровней стека коммуникационных протоколов.
36. Гетерогенность;
Ø Политический словарь
(от греч. heteros - другой) - разнородность.
Ø Исторический словарь
Неоднородность по составу.
Ø Социологический словарь
— степень различия членов, некоторой совокупности, между собой.
Нормой сегодняшнего дня являются сети гетерогенные, которые состоят из различных рабочих станций, операционных систем и приложений, а для реализации взаимодействия между компьютерами используют различные протоколы. Разнообразие всех компонентов, из которых строится сеть, порождает еще большее разнообразие структур сетей, получающихся из этих компонентов.
37. Основные подходы к реализации взаимодействия сетей компьютеров с разными ОС;
Основные проблемы при организации взаимодействия различных сетей связаны с тем, что эти сети используют различные стеки коммуникационных протоколов. В каждом конкретном стеке протоколов, будь то стек TCP/IP или IPX/SPX, средства, реализующие какой-либо уровень, обеспечивают интерфейс для вышележащего уровня своей системы и пользуются услугами интерфейсных функций нижележащего уровня.
Существование многих стеков протоколов не вносит никаких проблем до тех пор, пока не появляется потребность в их взаимодействии, то есть потребность в доступе пользователей сети NetWare к мейнфрейму IBM или пользователей графических рабочих станций UNIX к компьютеру VAX. В этих случаях проявляется несовместимость близких по назначению, но различных по форматам данных и алгоритмам протоколов.
Сложнее обстоит дело с сопряжением сетей, использующие различные протоколы верхних уровней, начиная с сетевого. Задачи согласования протоколов верхних уровней решить труднее из-за большей сложности этих протоколов и их разнообразия - чем большим интеллектом обладает протокол, тем больше у него аспектов и граней, по которым он может отличаться от своего собрата по функциональному назначению.
Для организации взаимодействия различных сетей в настоящее время используется два подхода:
· Первый подход связан с использованием так называемых шлюзов, которые обеспечивают согласование двух стеков протоколов путем преобразования протоколов. Шлюз размещается между взаимодействующими сетями и служит посредником, переводящим сообщения, поступающие от одной сети, в формат другой сети.
· Вторым использующимся в настоящее время на практике подходом является использование в рабочих станциях технологии мультиплексирования различных стеков протоколов.
При объединении сетей различных типов в общем случае необходимо обеспечить двухстороннее взаимодействие сетей, то есть решить две задачи:
Ø Обеспечение доступа клиентам сети A к ресурсам и сервисам серверов сети B.
Ø Обеспечение доступа клиентам сети B к ресурсам и сервисам сети A.
38. Что такое реестр ОС Windows;
Иерархически построенная, централизованная база данных в составе операционных систем Microsoft Windows 9x/NT/2000/XP/2003/Vista, содержащая сведения, которые используются операционной системой для работы с пользователями, программными продуктами и устройствами.
В реестре хранятся данные, необходимые для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах файлов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах.
39. Структура реестра ОС Windows;
Реестр Windows состоит из 5-ти ветвей:
1) HKEY_CLASSES_ROOT (HKCR) – в этой ветви содержатся сведения о расширениях всех зарегистрированных в системе типов файлов (хранящиеся здесь сведения отвечают за запуск необходимой программы при открытии файла с помощьюПроводника Windows);
2) HKEY_CURRENT_USER (HKCU) – в этой ветви содержится информация о пользователе, вошедшем в систему в настоящий момент (здесь хранятся папки пользователя, цвета экрана и параметры панели управления);
3) HKEY_LOCAL_MACHINE (HKLM) – в этой ветви содержится информация об аппаратной части ПК, о драйверах устройств, сведения о загрузке Windows;
4) HKEY_USERS (HKU) – в этой ветви содержится информация о всех активных загруженных профилях пользователей данного ПК;
5) HKEY_CURRENT_CONFIG (HKCC) – в этой ветви содержится информация о профиле оборудования, используемом локальным компьютером при запуске системы.
40. Способы работы с реестром ОС Windows;
Основным и наиболее известным инструментом администрирования Реестра Windows является утилита Редактор реестра (Registry Editor), входящая в состав любой копии ОС Windows.
Для запуска утилиты Редактор реестра: нажмите Пуск –> Выполнить… –> в поле Открыть: введите regedit –> OK.
41. Структура сетевой ОС;
Средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами в мультипроцессорных машинах, управления периферийными устройствами и другие функции управления ресурсами локальных ОС.
Средства предоставления собственных ресурсов и услуг в общее пользование - серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам.
Средства запроса доступа к удаленным ресурсам и услугам и их использования - клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера.
Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо.
Коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., то есть является средством транспортировки сообщений.
42. Взаимодействие сетевых компонентов;

На рисунке показано взаимодействие сетевых компонентов. Здесь компьютер 1 выполняет роль "чистого" клиента, а компьютер 2 - роль "чистого" сервера, соответственно на первой машине отсутствует серверная часть, а на второй - клиентская. На рисунке отдельно показан компонент клиентской части - редиректор. Именно редиректор перехватывает все запросы, поступающие от приложений, и анализирует их. Если выдан запрос к ресурсу данного компьютера, то он переадресовывается соответствующей подсистеме локальной ОС, если же это запрос к удаленному ресурсу, то он переправляется в сеть. При этом клиентская часть преобразует запрос из локальной формы в сетевой формат и передает его транспортной подсистеме, которая отвечает за доставку сообщений указанному серверу. Серверная часть операционной системы компьютера 2 принимает запрос, преобразует его и передает для выполнения своей локальной ОС. После того, как результат получен, сервер обращается к транспортной подсистеме и направляет ответ клиенту, выдавшему запрос. Клиентская часть преобразует результат в соответствующий формат и адресует его тому приложению, которое выдало запрос.
43. Варианты построения сетевых ОС;

Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции. Однако более эффективным представляется путь разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко встроены в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность.
44. Одноранговые сетевые ОС и ОС с выделенными серверами;
Одноранговая сеть
двухранговая сеть
Если компьютер предоставляет свои ресурсы другим пользователям сети, то он играет роль сервера. При этом компьютер, обращающийся к ресурсам другой машины, является клиентом. Как уже было сказано, компьютер, работающий в сети, может выполнять функции либо клиента, либо сервера, либо совмещать обе эти функции.
Если выполнение каких-либо серверных функций является основным назначением компьютера (например, предоставление файлов в общее пользование всем остальным пользователям сети или организация совместного использования факса, или предоставление всем пользователям сети возможности запуска на данном компьютере своих приложений), то такой компьютер называется выделенным сервером. В зависимости от того, какой ресурс сервера является разделяемым, он называется файл-сервером, факс-сервером, принт-сервером, сервером приложений и т.д.
45. Синхронизация процессов при помощи критических секций;
Критическая секция — это часть программы, результат выполнения которой может непредсказуемо меняться, если переменные, относящиеся к этой части программы, изменяются другими потоками в то время, когда выполнение этой части еще не завершено.
Чтобы исключить эффект гонок по отношению к критическим данным, необходимо обеспечить, чтобы в каждый момент времени в критической секции, связанной с этими данными, находился только один поток.
При этом неважно, находится этот поток в активном или в приостановленном состоянии. Этот прием называют взаимным исключением.

46. Синхронизация процессов при помощи семафоров;
Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам.

Мьютекс (англ. mutex, от mutual exclusion — взаимное исключение) — одноместный семафор, служащий в программировании для синхронизации одновременно выполняющихся потоков. Мьютексы – это простейшие двоичные семафоры, которые могут находиться в одном из двух состояний – отмеченном или неотмеченном.
Когда какой-либо поток, принадлежащий любому процессу, становится владельцем объекта mutex, последний переводится в неотмеченное состояние. Если задача освобождает мьютекс, его состояние становится отмеченным.
Единственная задача мьютекса — защита объекта от доступа к нему других потоков отличных от того, который завладел мьютексом)
Цель использования мьютексов — защита данных от повреждения; однако им порождаются другие проблемы, такие как взаимная блокировка (клинч) и «соревнование за ресурс».
47. Синхронизация процессов при помощи сигналов;
Сигналы вызывают прерывание задачи и выполнение заранее предусмотренных действий.
Сигналы могут вырабатываться синхронно, то есть как результат работы самого процесса, а могут быть направлены процессу другим процессом; то есть вырабатываться асинхронно. Синхронные сигналы чаще всего приходят от системы прерываний процессора и свидетельствуют о действиях процесса, блокируемых аппаратурой, например деление на нуль, ошибка адресации, нарушение защиты памяти и т. д.
48. Что такое сценарий (скрипт);
Shell - это командная оболочка. Является мощным языком программирования. Программы на языке shell называют сценариями, или скриптами. Фактически, из скриптов доступен полный набор команд, утилит и программ Linux. Если этого недостаточно, то доступны внутренние команды shell -- условные операторы, операторы циклов и пр., которые увеличивают мощь и гибкость сценариев.
Shell-скрипты исключительно хороши при программировании задач администрирования системы и др., которые не требуют для своего создания полновесных языков программирования.
Знание языка командной оболочки является залогом успешного решения задач администрирования системы Linux.
Shell-скрипты очень хорошо подходят для быстрого создания прототипов сложных приложений, даже не смотря на ограниченный набор языковых конструкций и определенную "медлительность". Такая метода позволяет детально проработать структуру будущего приложения, обнаружить возможные "ловушки" и лишь затем приступить к кодированию на C, C++, Java, или Perl.
Для каких задач неприменимы скрипты:
u для ресурсоемких задач, особенно когда важна скорость исполнения для задач, связанных с выполнением
u математических вычислений, особенно это касается вычислений с плавающей запятой, вычислений с повышенной точностью, комплексных чисел
u для целевых задач, от которых может зависеть успех предприятия.
u когда необходимо обеспечить целостность системы и защитить ее от вторжения, взлома и вандализма.
u для проектов, содержащих компоненты, очень тесно взаимодействующие между собой.
u для задач, выполняющих огромный объем работ с файлами
u для задач, работающих с многомерными массивами
u когда необходимо предоставить графический интерфейс с пользователем (GUI)
u когда необходим прямой доступ к аппаратуре компьютера
u когда необходимо выполнять обмен через порты ввода-вывода или сокеты
u когда необходимо использовать внешние библиотеки
49. Структура сценария (сктрипта) в ОС Linux;
Запустить сценарий можно командой sh <scriptname> или bash scriptname.
Более удобный вариант -- сделать файл скрипта исполняемым, командой chmod.
Это:
• chmod 555 <scriptname> (выдача прав на чтение/исполнение любому пользователю в системе)
или
• chmod +rx <scriptname> (выдача прав на чтение/исполнение любому пользователю в системе)
• chmod u+rx <scriptname> (выдача прав на чтение/исполнение только "владельцу" скрипта)
После того, как файл сделан исполняемым, то его можно запустить его такой командой ./scriptname.
Если, при этом, текст сценария начинается с корректной сигнатуры ("sha-bang"), то для его исполнения будет вызван соответствующий
интерпретатор.
Текст скрипта должен начинаться со строки:
#!/bin/bash
После чего идёт код программы
50. Порядок создания, написания и исполнения сценария в ОС Linux;
1. Зайти под учётной записью root;
2. Создать и открыть текстовый файл, например используя редактор nano c расширением sh (nano <имя файла>.sh);
3. Написать код скрипта, первая строка должна быть #!/bin/bash ;
4. Сохранить файл и выйти из редактора;
5. Сделать файл исполняемым chmod 555 <scriptname> или
6. Запустить скрипт командой ./ <имя файла>.sh
51. Физическая организация устройств ввода-вывода;
Устройства ввода-вывода делятся на два типа:
1. блок-ориентированные устройства
байт-ориентированные устройства.
Блок-ориентированные устройства хранят информацию в блоках фиксированного размера, каждый из которых имеет свой собственный адрес. Самое распространенное блок-ориентированное устройство - диск.
Байт-ориентированные устройства не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры.
Операционная система обычно имеет дело не с устройством, а с контроллером. Контроллер, как правило, выполняет простые функции.
Каждый контроллер имеет несколько регистров, которые используются для взаимодействия с центральным процессором. В некоторых компьютерах эти регистры являются частью физического адресного пространства.
ОС выполняет ввод-вывод, записывая команды в регистры контроллера.. Когда команда принята, процессор оставляет контроллер и занимается другой работой.
При завершении команды контроллер организует прерывание для того, чтобы передать управление процессором операционной системе, которая должна проверить результаты операции. Процессор получает результаты и статус устройства, читая информацию из регистров контроллера.
52. Организация программного обеспечения ввода-вывода;
Основная идея организации программного обеспечения ввода-вывода состоит в разбиении его на несколько уровней, причем нижние уровни обеспечивают экранирование особенностей аппаратуры от верхних, а те, в свою очередь, обеспечивают удобный интерфейс для пользователей.
Ключевым принципом является независимость от устройств. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска.
Программное обеспечение ввода-вывода на четыре слоя
Ø Обработка прерываний,
Ø Драйверы устройств,
Ø Независимый от устройств слой операционной системы,
Ø Пользовательский слой программного обеспечения.
53. Обработка прерываний;
Прерывания должны быть скрыты как можно глубже в недрах операционной системы, чтобы как можно меньшая часть ОС имела с ними дело. Наилучший способ состоит в разрешении процессу, инициировавшему операцию ввода-вывода, блокировать себя до завершения операции и наступления прерывания.
При наступлении прерывания процедура обработки прерывания выполняет разблокирование процесса, инициировавшего операцию ввода-вывода.
54. Драйверы устройств;
Весь зависимый от устройства код помещается в драйвер устройства. Каждый драйвер управляет устройствами одного типа или, может быть, одного класса.
В операционной системе только драйвер устройства знает о конкретных особенностях какого-либо устройства.
Например, только драйвер диска имеет дело с дорожками, секторами, цилиндрами, временем установления головки и другими факторами, обеспечивающими правильную работу диска.
Драйвер устройства принимает запрос от устройств программного слоя и решает, как его выполнить. Если драйвер был свободен во время поступления запроса, то он начинает выполнять запрос немедленно. Если же он был занят обслуживанием другого запроса, то вновь поступивший запрос присоединяется к очереди уже имеющихся запросов, и он будет выполнен, когда наступит его очередь.
Первый шаг в реализации запроса ввода-вывода, состоит в преобразовании его из абстрактной формы в конкретную.
Проще говоря, он должен решить, какие операции контроллера нужно выполнить и в какой последовательности.
После передачи команды контроллеру драйвер должен решить, блокировать ли себя до окончания заданной операции или нет. Если операция занимает значительное время, то драйвер блокируется до тех пор, пока операция не завершится, и обработчик прерывания не разблокирует его. Если команда ввода-вывода выполняется быстро, то драйвер ожидает ее завершения без блокирования.
55. Пользовательский слой программного обеспечения в ОС;
Хотя большая часть программного обеспечения ввода-вывода находится внутри ОС, некоторая его часть содержится в библиотеках, связываемых с пользовательскими программами. Системные вызовы, включающие вызовы ввода-вывода, обычно делаются библиотечными процедурами.
Набор подобных процедур является частью системы ввода-вывода. В частности, форматирование ввода или вывода выполняется библиотечными процедурами.
Другой категорией программного обеспечения ввода-вывода является подсистема спулинга (spooling). Спулинг - это способ работы с выделенными устройствами в мультипрограммной системе.
56. Дать определение файловой системы;
Файловая система - это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
В широком смысле понятие "файловая система" включает:
совокупность всех файлов на диске,
наборы структур данных, используемых для управления файлами, (каталоги файлов, дескрипторы файлов, таблицы распределения пространства на диске,
комплекс системных программных средств, реализующих управление файлами, в частности
57. Имена файлов;
Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС, как на используемые символы, так и на длину имени.
Ограничения на имена:
FAT - 8 символов - собственно имя, 3 символа - расширение имени;
ОС UNIX System V имя не может содержать более 14 символов;
NTFS - 255, не считая завершающего нулевого символа.
58. Типы файлов;
Текстовые файлы состоят из строк символов, представленных в ASCII-коде (Unicode). Это могут быть документы, исходные тексты программ и т.п.
Двоичные файлы - не используют ASCII-коды (Unicode), они часто имеют сложную внутреннюю структуру, например, объектный код программы или архивный файл.
Специальные файлы - файлы, ассоциированные с устройствами ввода-вывода, которые позволяют пользователю выполнять операции ввода-вывода, используя обычные команды записи в файл или чтения из файла.
Каталог - это, с одной стороны, группа файлов, объединенных пользователем исходя из некоторых соображений (например, файлы, содержащие программы игр, или файлы, составляющие один программный пакет), а с другой стороны - это файл, содержащий системную информацию о группе файлов, его составляющих. В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).
Каталоги могут непосредственно содержать значения характеристик файлов, как это сделано в файловой системе MS-DOS, или ссылаться на таблицы, содержащие эти характеристики, как это реализовано в ОС UNIX .
Каталоги могут образовывать иерархическую структуру за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня.
59. Права доступа к файлу;
создание файла,
уничтожение файла,
открытие файла,
закрытие файла,
чтение файла,
запись в файл,
дополнение файла,
поиск в файле,
получение атрибутов файла,
установление новых значений атрибутов,
переименование,
выполнение файла,
чтение каталога,
Различают два основных подхода к определению прав доступа:
избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;
мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.
60. Стандартные программы ОС;
Стандартные программы – предназначены для выполнения самых различных действий, который являются наиболее популярными в среде пользователей ПК.
Набор стандартных программ определен типом установки операционной системы.
61. Локальные операционные системы;
62. Сетевые операционные системы;
сетевая ОС - это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.
63. Однозадачные операционные системы;
64. Многозадачные операционные систем
Дата добавления: 2020-12-12; просмотров: 116; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
