Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
NuM_Lektsii_OSISP - лекции на Линуксу.doc
Скачиваний:
73
Добавлен:
18.02.2016
Размер:
287.74 Кб
Скачать

Тема 1. Задачи и интерфейсы Unix-подобных систем.

1*. История UNIX

В конце 60-х годов лабораторией Bell Labs и корпорацией General Electrics разрабатывалась ОС MULTICS (Multiplexed Information and Computing Service).

Кен Томпсон решил написать на ассемлере усеченный вариант системы MULTICS и позже к нему присоединился Брайан Керниган и они решили назвать эту систему UNICS(UniplexedInformationandComputingService). Далее последовал ряд изменений и улучшений, таких как:

1) Система UNIXбыла перенесена с машиныPDP-7 наPDP-11/20, а позднее на PDP-11/45,PDP-11/70. Данные машины по тем временам с большой физической памятьсю: 56 КБ и 2 МБ соответственно. Они обладали аппаратной защитой памяти. Эти машины были 16-разрядными.

2) Возникла необходимость переноса данной системы на другие машины. Было принято решение переписать данную систему на языке более высокого уровня. Томпсоном был придуман язык B, который был усеченной версией языка BCPL, однако перенос системы с помощью данного языка не удался. Был разработан язык C, с помощью которого осуществился перенос системы (1974 год). В 1974 году Ридчи и Томпсон опубликовали статью, посвященную UNIX, за которую получили престижную премию Тьюринга. В середине 80-х годов операционная система UNIX широко применялась на мини-компьютерах и инженерных рабочих станциях самых различных производителей. Многие компании приобрели лицензии на исходные коды, чтобы производить свои версии системы. Одной из таких компаний была небольшая начинающая фирма Microsoft, которая в течение нескольких лет продавала систему XENIX. В 1984 году произошло дробление компании AT&T, что повлекло последующие судебные иски из-за ранее свободного кода системы UNIX. Данная ситуация сохранялась вплоть до 90-х годов. В 1991 году финский студент Линус Торвальдс написал систему Linux (первоначальное название FREAX) на основе UNIX. Операционная система Linux быстро росла в размерах и впоследствии развилась в полноценный клон UNIX с виртуальной памятью, более сложной файловой системой и многими другими дополнительными функциями. Хотя изначально система Linux работала только на процессоре Intel386, она была быстро перенесена на другие платформы.

2*. Задачи ОС Linux.

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

  1. Принцип наименьшей неожиданности. Данная система реагирует на действия адекватным образом.

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

3*. Интерфейс системы Linux.

POSIX (Portable Operation System Interface for Unix) – набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Данный стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и не для UNIX систем.

Схема системы Linux:

Режим пользователя:

Пользователь

Интерфейс пользователя

Стандартные обслуживающие программы

Интерфейс библиотечных функций

Библиотечные функции

Режим ядра:

Интерфейс системных вызовов

ОС Linux

Аппаратура

Функция ОС Unix заключается в управлении аппаратным обеспечением и предоставлении всем программам интерфейса системных вызовов. Эти системные вызовы позволяют программам пользователя создавать процессы, файлы и прочие ресурсы, а так же управлять ими. Рассмотрим следующие 3 интерфейса:

Интерфейс системных вызовов, интерфейс библиотечных функций.

Программы делают системные вызовы, помещая аргументы в регистры и выполняя команду эмулированного прерывания для переключения из пользовательского режима в режим ядра. Поскольку на языке C невозможно написать команду эмулированного прерывания, то этим занимается библиотека, в которой есть по одной процедуре на системный вызов. Эти процедуры написаны на ассемблере, но они могут вызываться из языка C. Каждая такая процедура сначала помещает аргументы в нужное место, а затем выполняет команду эмулированного прерывания. В стандарте POSIX определен именно интерфейс библиотечных функций, а не интерфейс системных вызовов.Иначе говоря, стандарт POSIX определяет, какие библиотечные процедуры должна предоставлять соответствующая его требованиям система, каковы их параметры, что они должны делать и какие результаты возвращать.

Интерфейс пользователя.

Помимо операционной системы и библиотеки системных вызовов, все версии Linux предоставляют большое количество стандартных программ. К этим программа относятся: Командный процессор (оболочка), компиляторы, редакторы, программы обработки текста и утилиты для работы с файлами. При запуске оболочки она инициализируется, а затем выводит на экран символ приглашения к вводу. После того, как пользователь введет командную строку, оболочка извлекает из нее первое слово и ищет программу с таким именем. Если программу удается найти, оболочка запускает ее. При этом работа оболочки приостанавливается на время работы запущенной программы. По завершении программы, оболочка пытается прочитать следующую команду. Оболочка представляет собой обычную пользовательскую программу. Пример: cp src dest. Данная команда запускает программу cp с двумя аргументами src и dest. Эта программа интерпретирует первый аргумент как имя существующего файла, она копирует этот файл и называет эту копию dest.

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

Графические интерфейсы пользователя в Linux поддерживает оконная система X Windowing System(XWindow,X11,X). Она представляет обмен и протоколы отображения для управления окнами на растровых дисплеях unix-подобных систем.X-сервер является главным компонентом, который управляет такими устройствами, как монитор, мышь, клавиатура и т.д. и отвечает за перенаправление ввода от клиентских программ к операционной системе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]