Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Акуленок_часть1.doc
Скачиваний:
39
Добавлен:
13.11.2019
Размер:
1.43 Mб
Скачать

Глава 1. История создания ос unix

Изучив данную главу, вы сможете:

  • получить представление об ОС UNIX;

  • познакомиться с исследовательскими версиями ОС UNIX;

  • познакомиться со стандартами ОС UNIX;

  • познакомиться с разработчиками разных реализаций ОС UNIX;

  • изучить характеристики ОС UNIX;

Операционная система является важной частью компьютерной вычислительной системы. Вычислительную систему можно считать состоящей из двух основных компонентов:

  • аппаратного обеспечения;

  • программного обеспечения.

Аппаратура включает такие устройства, как центральный процессор, память, монитор, клавиатуру, дисковые устройства и т.д., объединенные магистральным соединением, которое называется шиной.

Все программное обеспечение принято делить на две части: прикладное и системное. Прикладное программное обеспечение представляет собой то, для чего необходимы компьютеры, т.е. для выполнения желаемой задачи (например, для посылки электронной почты, редактирования, игры и т.д.).

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

Большинство операционных систем разрабатывались фирмами – производителями вычислительных машин в расчете на повышение спроса на них.

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

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

Рис. 1.1. Что такое операционная система?

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

Итак, операционная система – это программа, которая позволяет пользоваться ресурсами ЭВМ. Для этого операционная система должна обеспечить, по меньшей мере, некоторые средства для разработки и запуска программ на ЭВМ, средства управления пространством памяти ЭВМ, средства доступа к периферийным устройствам ЭВМ и некоторую файловую систему.

По современным представлениям ОС должна уметь делать следующее.

  • Обеспечивать загрузку пользовательских программ в оперативную память и их исполнение (этот пункт не относится к ОС, предназначенным для прошивки в ПЗУ).

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

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

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

  • Предоставлять некоторый пользовательский интерфейс. Слово некоторый здесь сказано не случайно – часть систем ограничивается командной строкой, в то время как другие на 90% состоят из интерфейсной подсистемы. Встраиваемые системы часто не имеют никакого пользовательского интерфейса.

Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа – дисковая операционная система MS DOS.

Более развитые ОС предоставляют также следующие возможности:

  • параллельное (или псевдопараллельное, если машина имеет только один процессор) исполнение нескольких задач;

  • организацию взаимодействия задач друг с другом;

  • организацию межмашинного взаимодействия и разделения ресурсов;

  • защиту системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ;

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

Существует несколько схем классификации операционных систем.

По числу одновременно выполняемых задач операционные системы можно разделить на два класса:

  • многозадачные (Unix, OS/2, Windows);

  • однозадачные (MS–DOS).

Многозадачный режим, который воплощает в себе идею разделения времени, называется вытесняющим (preemptive). Каждой программе выде­ляется квант процессорного времени, по истечении которого управление передается другой программе. Говорят, что первая программа будет вытес­нена. В вытесняющем режиме работают пользовательские программы большинства коммерческих ОС.

По числу одновременно работающих пользователей ОС можно раз­делить на:

  • однопользовательские (MS–DOS, Windows 3.x);

  • многопользовательские (Windows NT, Unix).

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

Вплоть до недавнего времени вычислительные системы имели один центральный процессор. В результате требований к повышению произво­дительности появились многопроцессорные системы, состоящие из двух и более процессоров общего назначения, осуществляющих параллельное выполнение команд. Поддержка мультипроцессирования является важ­ным свойством ОС и приводит к усложнению всех алгоритмов управле­ния ресурсами. Многопроцессорная обработка реализована в таких операционных системах, как Linux, Solaris, Windows NT, и ряде других.

UNIX, как и другие операционные системы, является слоем между аппаратурой и приложениями, которые выполняются на компьютере. В ней есть функции, которые управляют аппаратным обеспечением, и функции, которые управляют выполняющимися приложениями. Так в чем же разница между UNIX и другими операционными системами? В основном отличие в двух вещах: внутренней реализации, т.е. модульность и обширный набор системных программ, которые позволяли создать благоприятную обстановку для пользователей–программистов, и интерфейсе, который видит и эксплуатирует пользователь. В рамках этого курса мы рассмотрим и то, и другое. Большинство пользователей UNIX должны знать интерфейс, хотя могут и не понимать внутренней работы UNIX.

Многие поставщики мэйнфреймов и рабочих станций создали версии UNIX для своих машин.

Наиболее распространенные реализации системы UNIX на рабочих станциях представлены в табл.1.1.

Таблица 1.1