КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Общая архитектура UNIX. Основные подсистемы ядра.Ядро и 2ой уровень вокруг него.
Ядро непосредственно взаимодействует с аппаратн. частью, тем самым изолируя прикладные прог-ы от особенностей архитетуры. Ядро имеет набор услуг, предоставляемые прикладным прог-ам: -операции в/в -создание и управл-е процессами и их синхронизация, межпроцессорное взаимодействие. Все приложения запрашивают эти услуги посредством системн. вызозов. 2ой уровень: системн. и прикладные задачи. Несмотря на внешн. разнородность схемы взаимод-я с ядром приложений единообразны. Ядро обеспечивает базов. функциональность ОС: -создает процессы и управл. ими -распределяет память -обеспечивает доступ к файлам и переферийн. уст-вам. Др. программы. Системн. вызов явл. точкой входы прог-ы в ядро, при выполнении вызова прог-а пользователя временно переходит в привилигирован. режим и т.о. получает доступ к уст-вам, кот. были недоступны в пользовательском режиме. В инт-се системн. вызовов определен. формат запросов на услуги. Для процесса системн. вызов внешне похож на обычн. вызов библиотечн. ф-ции. Пр. напишем прог-у, кот. откр. файл, читает данные и закрыв. файл. Операция откр-я, чтения и закрытия должны выполняться ядром по запросу системн. вызовов open, read, close. #include <sys.types.h> #include <sys/stat.h> #include <fsntl.h> main() //главная функция {int fd; //величина целого типа, файлов. дискриптор char buf[80]; //строка, массив символов (buf - указатель) //исполняемые операторы fd= open(“file1”,O_RDONLY); //(fd – логич файл в Object Pascal) read(fd,buf,sizeof(buf)); //считывает в буфер 80 сиволов close(fd); } Структура ядра. Ядро сост. из осн. 3 подсистем(п/с): 1.файловая п/с. 2. п/с управл-я процессами и памятью. 3. п/с в/в. 1. Обеспечив. унифицировн. интерфейс доступа к данным, расположен. на дисковых носителях, а также переферийн. уст-вах. Т.е. одни и те же ф-ции отрытия, чтения, записи можно использовать при чтении, записи на диск, в/в на принтер или терминатор(?). Файлов. подсистема контролир. права доступа к файлу, выполн. размещение и удаление файла. Права доступа к файлам определяет привилегии пользователя в системе. Файлов. п/с обеспечивает перенаправление запросов, адресован. переферийн. уст-вам, перенаправляют в соотв. модули подситемы в/в. 2. Запущен. на выполнение прог-а порождает в системе 1 или более процессов. Она контролирует: -создание, удаление процессов -контроль ресурсов -контролируется синхрониз-я процессов -межпроцессорное взаимодействие ОС управляет доступом процессов к вычислит. ресурсам. При этом создается впечатление выполнения неск. задач. Спец. задача ядра, называемая планировщиком процессов scheduler, кот. разрешает конфликты между процессами в конкуренции за системн. ресурсы. Планировщик запускает процесс на выполнение, следя за тем, чтобы процесс монопольно не захватил ресурс. Процесс освобождает ресурс по происшествии кванта времени или ожидая длит. операцию в/в. тогда планировщик выбирает след. процесс с наивысшим приоритетом. Модуль управления памятью обеспечивает размещение ОП для прикладных задач. Если для всех процессов недостаточно памяти, то ядро осущ. подкачку страниц. Чтобы использовать вирт. память FreeBSD перемещает все неиспользуемые страницы памяти на диск. При запросе на откачиваемые данные осуществляется перемещение страницы в памяти, т.е. подкачка. Область диска, куда подкачиваются страницы назыв. разделом подкачки. Модуль межпроцес. взаимодействия отвечает за уведомления процессов с помощью сигналов и обеспечивает возможность обмена данными между различными процессами. 3. Выполн. запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам. Обеспечивается буферизация и взаимодействие с драйверами устройств. Драйвер – спец. модуль ядра, непосредственно обслуживающ. внешнее устройство.
|