
- •Основные понятия операционных систем.
- •Основные понятия, концепции ос
- •2. Классификация ос.
- •3. Функции операционных систем, сравнительный анализ операционных систем.
- •4. Ядро операционной системы, понятие, состав.
- •5.Архитектура ос. Преимущества и недостатки различных архитектур.
- •4 Преимущества и недостатки архитектуры ос с микроядром
- •Эволюция развития операционных систем.
- •Серверные операционные системы. Особенности.
- •Логическая организация файловой системы Linux. Структура и назначение каталогов.
- •Информация о группах и пользователях.
- •10.Разделы диска и таблица разбиения диска. Имена разделов в Linux.
- •Первичный (основной) раздел
- •Расширенный (дополнительный) раздел
- •Этапы загрузки операционных систем. Mbr.
- •Виды совместимостей операционных систем
- •Загрузчики. Оболочки. Утилиты. Репозиторий.
- •Классификация прикладного и системного программного обеспечения.
- •Процессы. Состояния процессов. Операции над процессами. Контекст и дескриптор процесса. Команды управления процессами.
- •Состояние процессов
- •Процесс init и файл /etc/inittab. Жизненный цикл процесса, приоритеты
- •Фоновый режим в Linux. Демоны. Запуск демонов.
- •Нити. Семафоры. Потоки. Жизненный цикл потока. Операции над потоками.
- •Перенаправление команд. Понятие конвейера.
- •Распределение памяти.
- •22. Критерии планирования
- •23. Классификация методов распределения памяти.
- •24. Схема с фиксированными разделами
- •Перемещаемые разделы
- •Свопинг
- •26. Управление ресурсами. Освобождение дискового пространства.
- •29. Монтирование и демонтирование файловой системы
- •30. Основные типы файлов. Права доступа к файлу. Операции над файлами
- •31. Перенаправление ввода-вывода, каналы и фильтры. Категории средств обмена информацией
- •32.Работа в командном режиме.Скрипты. Среда переменных.
- •33.Параметры и переменные. Окружение оболочки. История команд.
- •34.Квотирование. Особенности квотирования в Linux.
- •35. Основные конфигурационные файлы. Конфигурационный файл.
- •36.События, системные вызовы, прерываний, исключительные ситуации.
- •37. Команды управления сетью.
- •39.Безопасность в Linux. Администрирование системы Linux.Взлом Linux
- •40.Защитные механизмы ос.
Виды совместимостей операционных систем
Свойство ОС, характеризующее возможность выполнения в ОС приложений, написанных для других ОС, называется совместимостью.
Существует два принципиально отличающихся вида совместимости: совместимость на двоичном уровне и совместимость на уровне исходных текстов. Приложения хранятся в компьютере в виде исполняемых файлов, содержащих двоичные образы кодов и данных. Двоичная совместимость достигается в том случае, если можно взять исполняемую программу, работающую в среде одной ОС и запустить ее на выполнение в среде другой ОС.
Совместимость на уровне исходных текстов требует наличия соответствующих компиляторов в составе программного обеспечения компьютера, на котором предполагается использовать данное приложение, а также совместимости на уровне библиотек и системных вызовов. При этом необходима перекомпиляция исходных текстов программ в новые исполняемые модули.
Каким типом совместимости - двоичной или совместимостью исходных текстов обладает ОС, зависит от многих факторов. Самый значительный из них - архитектура процессора, на котором работает ОС. Чтобы достичь двоичной совместимости достаточно соблюсти несколько следующих условий:
вызовы функций API, которые содержит приложение, должны поддерживаться данной ОС;
внутренняя структура исполняемого файла приложения должна соответствовать структуре исполняемых файлов данной ОС.
Кроме соблюдения приведенных выше условий, необходимо также организовать эмуляцию двоичного кода. Для того, чтобы компьютер смог интерпретировать машинные инструкции, которые ему изначально непонятны, на нем должно быть установлено специальное программное обеспечение - эмулятор.
Назначение эмулятора состоит в том, чтобы последовательно выбирать каждую двоичную инструкцию процессора, например, Intel, программным способом дешифровать ее, чтобы определить, какие действия она задает, а затем выполнять эквивалентную подпрограмму, написанную в инструкциях процессора, например, Motorola.
Тем не менее, существует несколько другой, гораздо более эффективный выход из описанной ситуации - использование так называемых прикладных программных сред. Одной из составляющих, формирующих программную среду, является набор функций интерфейса прикладного программирования API, которым ОС обеспечивает свои приложения. Для сокращения времени выполнения чужих программ прикладные среды имитируют обращения к библиотечным функциям. Эффективность данного подхода определяется тем, что большинство современных программ работают под управлением графических интерфейсов пользователя (GUI) типа Windows, UNIX при этом приложения, как правило, наибольшую часть времени тратят на выполнение, некоторых хорошо предсказуемых действий. Они непрерывно осуществляют вызовы библиотек GUI для манипулирования окнами и для других, связанных с GUI, действий. Именно эта особенность приложений позволяет прикладным средам компенсировать большие затраты времени, потраченные на покомандное эмулирование программы. Тщательно спроектированная программная среда имеет в своем составе библиотеки, имитирующие внутренние библиотеки GUI, но написанные на "родном" коде данной ОС. Таким образом, достигается существенное ускорение выполнения программ с API другой операционной системы. Для того чтобы отличить такой подход от более медленного процесса эмулирования кода по одной команде за раз, его называют трансляцией.