русс | укр

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

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

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

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


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

Ядро Unix


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


ОС Unix и Linux

ОС Unix была разработана в 1969 г. в Bell Labs как многозадачная ОС для миникомпьютеров и мейнфреймов. Она написана на языке Си, что позволяет ее компилировать различными Си-компиляторами для различных машин. На данный момент существует огромное множество версий Unix для различных платформ от персональных ПК до суперкомпьютеров, таких как Cray Y-MP. Unix позволяет также организовывать кластеры.

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

Ядро – это постоянно функционирующая часть ОС, которая в случае Linux занимает 5-7 Мбайт. Другие программы (системные или пользовательские) являются полностью машинно-независимыми и могут общаться с ядром посредством системных вызовов, которые по сути дела являются точками входа программ на языке Си в ядро. При исполнении системного вызова программа пользователя временно переходит в привилегированный режим, получая доступ к данным или устройствам, которые недоступны при работе в режиме пользователя!

Стандартная библиотека Unix – libc – обеспечивает C-интерфейс к каждому системному вызову. Это приводит к тому, что системный вызов выглядит как функция на языке С.

1.1. Основные функции и состав ядра:

  1. Инициализация системы – запуск, bootstrap – процедура раскрутки и загрузки полного ядра в память, запуск ядра;
  2. Управление процессами и нитями – создание, завершение и отслеживание процессов и нитей, разделение между запущенными процессами времени процессора(-ов в SMP), распараллеливание процессов;
  3. Управление памятью – создание ФС, файлов, доступ к внешним устройствам на уровне ФС;
  4. Коммуникации и обмен данными между процессами локальными и сетевыми (IPC = Inter-Process Communications), а также между процессами и драйверами;
  5. Создание программного интерфейса – функция доступа к возможностям ядра со стороны пользовательских процессов с помощью системных вызовов, оформленных в виде библиотек функций.



<== предыдущая лекция | следующая лекция ==>
Радиосистемы посадки | Файловая система Unix


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


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

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

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


 


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

 
 

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

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