Ядро системы. Внутренняя структура ядра.
Основные понятия и определения. Операционные системы как средство распределения и управления ресурсами. История создания и развития UNIX. ОС UNIX появилась в конце 60-ых годов. 1 января 70-ого года появляется UNIX Bell Labs пришли к выводу, что надо создать ОС: должна автоматизировать запуск программ, управление ресурсами компьютера BESYS General Electric разработали многозадачную пользов. сис-му с разделением времени и новым пользов. интерф., обеспеч. пользователям удобн. доступ к выч. ресурсам. Томсон и Ричи продолжили проект Сначала UNIX на ассемблере переносились посредством перфоленты на РС PDP-7 первое ядро ОС(новое), текстовый редактор, свой ассемблер и набор утилит UNIX, UNICS(Uniplexed Information and Computing System) В 71-ом понадобилась система обработки текста Для работы ОС требовалось 12кб ОП Максимальный допустимый объём файла 64 кбайт В 73-ем ядро было написано на Си Система начинает распространятся в университетах Сущ. достаточно большое кол-во версий Общие черты UNIX: 1) мультипрогр. обработка в режиме разделения времени основан. на вытесн. многозадачности; 2) поддержка многопользоват. режима, наличие средств защиты данных от несанкционированного доступа; 3) использование механизма Вирт. памяти и свопинга; 4) иерархическая файловая система, образ. един. дерево каталогов независимых от кол-ва физ. устройств использов. для помещ. файлов; 5) унификация операции вв.выв на основе расширенного исп. понятия файлов; 6) переносимость системы, благодаря написанию её основной части на Си; 7) создание КЭШ-диска для уменьшения времени доступа к файлам; 8) наличие разнообразных средств взаимодействия процессов. Достоинство ОС UNIX: 1)переносимость; 2) эффективная реализация многозадачности 3) открытость, доступность исходных кодов; 4) простой, но достаточно мощный пользовательский интерфейс; 5) наличие и строгое соблюдение стандартов; 6) единая файловая сис-ма; 7) большое кол-во программного обеспечениябесплатного и качественного. На чём строится популярность UNIX: 1) простые команды; 2) команды, соед. простыми каналами; 3) преимущественный общий стиль интерфейса; 4) отсутствие типов файлов. awk. ‘BEGIN’ {FS=”~”} $3= = “Smirnoff” {print “%S\t%\n”, $1, $6} address.txt | sort | lp Основные понятия UNIX. Компьютеры, работающие под ОС UNIX вып. ф-цию сервера или рабочей станции Рабочая станция UNIX не явл. персональным компьютером, там могут вып. вычисл. задачи других пользоват. На раб. ст. могут работать сразу неск. пользоват. с удалённых терминалов по сети через модем Раб.ст. UNIX, на кот. зарегестр. неск. пользов., должна работать непрерывно Разделение времени Имена файлов ОС могут иметь разную длину, макс. длина практически неограничена
Архитектура UNIX. Основные стандарты.
Стандарт:
Переносимый интерфейс ОС для вычислительной среды
Этот стандарт обеспечивает упрощение переносимости приложений между различными версиями UNIX.
1003.1-1988- стандарт определил программный интерфейс приложений.
1003.1-1990- IEFE-стандарт определяет интерфейс, а не напрямую
Не делает различие между системными вызовами и библиотечными вызовами.
Другие наиболее значительные стандарты:
POSIX 1003.2 -1992 г.
Включает определение командного интерпритатора UNIX и набора утилит
1003.16-1993 г. POSIX
Содержит дополнения
1003.1с-1995г.
Включает определение нитей
X/OPEN
Цель-разработка общего набора интерфейсов ОС-мы согласованных между различными производителями.
1992г. появился документ под названием XPG3, который относится к стандартному XWINDOWS
1996г. X/OPEN и OSF объединили усилия для разработки пользовательского интерфейса
CDE-COMMON DESKTOP ENVIROMENT
DCE-DISTRIBUTED COMPUTING ENVIROMENT
SVID-System 5 Interface Definition
SWS- System 5 Verification Suite
Набор тестовых программ
Модель системы UNIX.
Самый общий взгляд позволяет увидеть двухуровневую модель системы UNIX так, как она представлена на рисунке:

В центре находится ядро системы (kernel). Ядро непосредственно взаимодействует с аппаратной частью компьютера, изолируя прикладные программы от особенностей её архитектуры. Ядро имеет набор услуг, предоставляемых прикладным программам. К услугам ядра относятся операции ввода/вывода (открытия, чтения, записи и управления файлами), создания и управления процессами, их синхронизации и межпроцессорного взаимодействия. Все приложения запрашивают услуги ядра посредством системных вызовов.
Второй уровень составляют приложения или задачи, как системные, определяющие функциональность системы, так и прикладные, обеспечивающие пользовательский интерфейс UNIX. Однако, несмотря на внешнюю разнородность приложений, схемы их взаимодействия с ядром одинаковы.
Ядро системы. Внутренняя структура ядра.
Ядро обеспечивает базовую функциональность операционной системы:
создаёт процессы и управляет ими, распределяет память и обеспечивает доступ к файлам и периферийным устройствам.
Взаимодействие прикладных задач с ядром происходит посредством стандартного интерфейса системных вызовов. Интерфейс системных вызовов представляет собой набор услуг ядра и определяет формат запросов на услуги. Процесс запрашивает услугу посредством системного вызова определённой процедуры ядра, внешне похожего на обычный вызов библиотечной функции. Ядро от имени процесса выполняет запрос и возвращает процессу необходимые данные.
В приведённом примере программа открвает файл, считывает из него данные и закрывает этот файл. При этом операции открытия (open), чтения (read) и закрытия (close) файла выполняются ядром по запросу задачи, а функции open(2), read(2) и close(2) являются системными вызовами.
main ( )
{
int fd;
char buf[80]
/*Откроем файл – получим ссылку (файловый дескриптор) fd*/
fd = open(“file1”, O_RDONLY);
/*Считываем в буфер buf 80 символов*/
read (fd, buf, sizeof(buf));
/*Закроем файл*/
close (fd);
}
Внутренняя структура ядра UNIX представлена на рисунке:

Ядро состоит из 3 основных подсистем:
1. Файловая подсистема
2. Подсистема управления процессами и памятью
3. Подсистема ввода/вывода
Файловая подсистема
Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Одни и те же функции ореп(2), read(2), write(2) могут использоваться как при чтении или записи данных на диск, так и при выводе текста на принтер или терминал. Файловая подсистема контролирует права доступа к файлу, выполняет операции размещения и удаления файла, а также выполняет запись/чтение данных файла. Поскольку большинство прикладных функций выполняется через интерфейс файловой системы (в том числе и доступ к периферийным устройствам), права доступа к файлам определяют привилегии пользователя в системе. Файловая подсистема обеспечивает перенаправление запросов, адресованных периферийным устройствам, соответствующим модулям подсистемы ввода/вывода.
Подсистема ввода/вывода
Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам (дискам, магнитным лентам, терминалам и т. д.). Она обеспечивает необходимую буферизацию данных и взаимодействует с драйверами устройств — специальными модулями ядра, непосредственно обслуживающими внешние устройства
Дата добавления: 2018-05-09; просмотров: 370; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
