русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 1563; Нарушение авторских прав


1*. История UNIX

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

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

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 определяет, какие библиотечные процедуры должна предоставлять соответствующая его требованиям система, каковы их параметры, что они должны делать и какие результаты возвращать.



<== предыдущая лекция | следующая лекция ==>
DATE_FORMAT(дата, формат). | Тема 2: Структура ядра ОС Linux.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.