- •1. Предпосылки появления первых ос.
- •2. Мультипрограммные ос мейнфреймов.
- •3. Ос миникомпьютеров.
- •4. Ос в 80-е годы.
- •5. Современные ос.
- •6. Классификация ос.
- •7. Основные понятия операционных систем реального времени (осрв)
- •Тема 8. Критерии оценки ос: надёжность, эффективность, удобство, масштабируемость, способность к развитию, мобильность.
- •Тема 9. Основные функции и структура ос. Понятие ядра системы.
- •6. Ос автономного компьютера.
- •7. Сетевые ос.
- •8. Серверные ос.
- •9. Мультипрограммирование.
- •10. Планирование процессов и потоков.
- •11. Алгоритмы планирования процессов.
- •13. Планирование процессов в осрв.
- •14. Необходимость решения сложных задач на кластерах.
- •15. Структура Windows.
- •16. Процессы и потоки в Windows.
- •17. Управление памятью в Windows.
- •18. Безопасность Windows.
- •19. Обзор системы Unix.
- •20 Процессы Unix.
- •21.Управление памятью в Unix.
- •22.Файловые системы Unix.
- •23. Модель исполнения приложения в Windows Mobile.
- •24. Платформа Android и архитектура приложения.
19. Обзор системы Unix.
UNIX — семейство переносимых, многозадачных и многопользовательских операционных систем. Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. Некоторые отличительные признаки UNIX-систем включают в себя:
• использование простых текстовых файлов для настройки и управления системой;
• широкое применение утилит, запускаемых в командной строке;
• взаимодействие с пользователем посредством виртуального устройства — терминала;
• представление физических и виртуальных устройств и некоторых средств межпроцессового взаимодействия как файлов;
• использование конвейеров из нескольких программ, каждая из которых выполняет одну задачу.
Первоначально ОС предназначалась для разработки программного обеспечения. ОС UNIX обладает простым, но очень мощным командным языком и независимой от устройств файловой системой. При создании ОС UNIX использовался язык высокого уровня С, поэтому системные и прикладные программы получились легко переносимыми (мобильными). Компилятор с языка С для всех оттранслированных программ дает реентерабельный и разделяемый код, что позволяет эффективно использовать имеющиеся в системе ресурсы. При разработке ОС UNIX преследовались следующие цели:
• сохранить простоту и обойтись минимальным количеством функций;
• общность - одни и те же методы и механизмы должны были использоваться во многих случаях;
• создать операционную среду, в которой большие задачи можно решать, комбинируя небольшие программы, а не создавая программы заново.
Общность в ОС UNIX проявляется во многих аспектах:
• обращение к файлам, устройствам ввода/вывода и буферам межпроцессных сообщений выполняется с помощью одних и тех же средств;
• одни и те же механизмы именования, присвоения альтернативных имен и защиты от несанкционированного доступа применяются к файлам с данными, к каталогам и устройствам;
• одни и те же механизмы обслуживают программные и аппаратные прерывания.
В настоящее время UNIX используются в основном на серверах, а также как встроенные системы для различного оборудования. На рынке ОС для рабочих станций и домашнего применения лидером является Microsoft Windows, UNIX занимает только второе (Mac OS X), третье (GNU/Linux) и многие последующие места. UNIX-системы имеют большую историческую важность, поскольку благодаря им распространились некоторые популярные сегодня концепции и подходы в области ОС и программного обеспечения. Также, в ходе разработки Unix-систем был создан язык Си.
20 Процессы Unix.
В ОС UNIX процесс - программа, выполняемая в собственном адресном пространстве. При удачной регистрации пользователя в системе автоматически создается процесс, в котором выполняется программа командного интерпретатора. Если командному интерпретатору встречается команда, соответствующая выполняемому файлу, то он создает новый процесс и запускает в нем эту команду. Процесс может выполняться в одном из двух состояний:
• пользовательском. Процесс выполняет пользовательскую программу и имеет доступ к пользовательскому сегменту данных;
• системном. Процесс выполняет программы ядра и имеет доступ к системному сегменту данных.
Когда пользовательскому процессу требуется выполнить системную функцию, он создает системный вызов. Фактически происходит вызов ядра системы как подпрограммы. С момента появления системного вызова процесс считается системным. Пользовательский и системный процессы являются двумя фазами одного и того же процесса, но они никогда не пересекаются между собой. Каждая фаза пользуется своим собственным стеком. Стек задачи содержит: аргументы; локальные переменные; другую информацию относительно функций, выполняемых в режиме задачи. Диспетчерский процесс не имеет пользовательской фазы.
В ОС UNIX используется разделение времени, каждому процессу выделяется квант времени:
• процесс завершается сам до истечения отведенного ему кванта времени;
• процесс откладывается по истечении кванта времени.
Пользовательским процессам устанавливаются приоритеты в зависимости от количества получаемого ими процессорного времени:
- процессам, которые получили больше процессорного времени, назначаются более низкие приоритеты;
- процессам, которые получили небольшое количество процессорного времени, приоритет повышают.
Такой метод диспетчеризации обеспечивает хорошее время реакции для всех пользователей системы. Все системные процессы имеют более высокие приоритеты по сравнению с пользовательскими и поэтому всегда обслуживаются в первую очередь.
