Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

2.2. Важные составляющие ядра

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

Наиболее важные составляющие ядра (обеспечивающие жизнеспособность системы) - это блок управления памятью и процессами. Блок управления памятью обеспечивает распределение областей памяти и swap-областей между процессами, составляющими ядра и для кэш-буфера. Блок управления процессами создает новые процессы и обеспечивает многозадачность путем переключения задач.

На самом нижнем уровне ядро содержит драйверы устройств для каждого типа поддерживаемого оборудования. Существует довольно большой набор различных драйверов, так как постоянно разрабатываются новые типы устройств. Существует довольно много одинаковых устройств, которые различаются только тем, как происходит взаимодействие между самим устройством и драйвером. Такое сходство позволяет использовать классы драйверов, поддерживающих одинаковые операции. В каждом члене такого класса используется однотипный интерфейс для ядра, но различные схемы взаимодействия с устройством. Например, все драйверы жесткого диска представляются для ядра абсолютно одинаково, то есть у них у всех имеются такие операции как 'инициализация жесткого диска', 'чтение сектора N', 'запись сектора N'.

Некоторые функции, предоставляемые ядром, имеют одинаковые свойства. Например, различные сетевые протоколы объединены в один программный интерфейс - BSD socket библиотеку. Вот другой пример - различные файловые системы, поддерживаемые системой Linux. Ядро содержит виртуальную файловую систему (Virtual File System - VFS) которая включает в себя все функции, используемые для работы системы, а также драйвер для каждой поддерживаемой файловой системы. При попытке доступа к какой-либо файловой системе запрос проходит через VFS, откуда перенаправляется к соответствующему драйверу файловой системы.

2.3. Основные функции UNIX системы

В этом разделе достаточно поверхностно рассматриваются некоторые наиболее важные функции UNIX системы. Более подробно они рассмотрены в следующих главах.

2.3.1. init

Единственную и самую важную функцую в UNIX системе предоставляет пpоцесс init. Он запускается в любой UNIX системе как самый первый процесс, а также завершает процедуpу загрузки системы. При запуске init, продолжается процесс загрузки (проверяются и устанавливаются файловые системы, запускаются различные программы-демоны и т.д.).

Точный список того, что выполняется при запуске init, зависит от версии программы. Обычно init предоставляет однопользовательский режим, при котором никто не может подключиться к системе. Обычный режим - это многопользовательский. Некоторые версии используют понятие 'уровень запуска'. Например, однопользовательский и многопользовательский режимы - это разные уровни запуска. Также существуют дополнительные уровни, например для запуска X-windows.

При работающей системе, две самые важные задачи программы init - это удостоверится, что все программы-демоны getty работают (т.е. имеется возможность подключения к системе) и адаптирование orphan-процессов (т.е. процессов, чей родительский процесс был уничтожен; в системе UNIX все процессы должны принадлежать одному дереву процессов, поэтому orphan-процессы должны быть адаптированы).

При завершении работы системы и перезапуске, init уничтожает все оставшиеся процессы, демонтирует файловые системы и останавливает процессор.


[ Назад | Оглавление | Далее ]









helloworld.ru © 2001-2021
Все права защищены