Запущенная на выполнение программа порождает в системе один или более процессов (или задач). Подсистема управления процессами контролирует:
· Создание и удаление процессов
· Распределение системных ресурсов (памяти, вычислительных ресурсов) между процессами.
· Синхронизацию процессов;
Специальная задача ядра, называемая распорядителем или планировщиком процессов (scheduler), разрешает конфликты между процессами в конкуренции за системные ресурсы (процессор, память, устройства ввода/вывода). Планировщик запускает процесс на выполнение, следя за тем, чтобы процесс монопольно не захватил разделяемые системные ресурсы. Процесс освобождает процессор, ожидая длительной операции ввода/вывода, или по прошествии кванта времени. В этом случае планировщик выбирает следующий процесс с наивысшим приоритетом и запускает его на выполнение.
Модуль управления памятью обеспечивает распределение оперативной памяти для прикладных задач. Оперативная память является дорогостоящим ресурсом. и, как правило, ее редко бывает "слишком много". В случае, если для всех процессов недостаточно памяти, ядро перемещает части процесса или нескольких процессов во вторичную память (как правило, в специальную область жесткого диска), освобождая ресурсы для выполняющегося процесса. Все современные системы реализуют так называемую виртуальную память: процесс выполняется в собственном логическом адресном пространстве, которое может значительно превышать доступную физическую память. Управление виртуальной памятью процесса также входит в задачи модуля управления памятью.
Модуль межпроцессного взаимодействия отвечает за уведомление процессов о событиях с помощью сигналов и обеспечивает возможность передачи данных между различными процессами.
Подсистема ввода/вывода
Подсистема ввода/вывода выполняет запросы файловой подсистемы и подсистемы управления процессами для доступа к периферийным устройствам (дискам, магнитным лентам, терминалам и т. д.). Она обеспечивает необходимую буферизацию данных и взаимодействует с драйверами устройств — специальными модулями ядра, непосредственно обслуживающими внешние устройства.
ОС LINUX
Linux - свободно распространяемая версия UNIX, первоначально была разработана Линусом Торвальдсом в Университете Хельсинки (Финляндия) в начале 90-х годов. Тогда еще студент, а сейчас уже доктор наук Линус Торвальдс написал «с нуля» ядро системы. Причиной тому послужило впечатление, которое на него произвела ОС Minix, распространявшаяся вместе с книгой Энди Танненбаума. Проблема Minix заключалась в том, что пользоваться ею могли только люди, купившие эту книгу. Линус же решил написать свободную версию Minix. Под словом «свободная» подразумевается не только бесплатное распространение этой ОС, но и доступность исходных текстов, а также возможность их изменять и распространять: всякий может делать с данным ПО что угодно — продавать, переделывать, менять название. Автор, в свою очередь, не несет ответственности за работу данного программного продукта. В результате все желающие могут принимать участие в разработке этой ОС. На сегодняшний день несколько тысяч разработчиков трудятся над Linux. А объединяет их усилия Сеть. Любой программист, имеющий достаточные знания и навыки, имеет возможность принять участие в совершенствовании и отладке ядра, переносе в Linux новых программ, написании документации, помощи новичкам. Нет определенной организации, отвечающей за развитие системы. Существует ряд соглашений для принимающих участие в разработках: например, любой, желающий, чтобы его код был включен в "официальное" ядро, должен написать Линусу Торвальдсy, который проведет тестирование и включит код в ядро (если предлагаемый код вписывается в систему и не противоречит ее принципам).
Большинство программ Linux разработаны в рамках проекта GNU Free Software Foundation (Фонда Свободного Программного Обеспечения) и имеет лицензию GPL (General Public License), которая разрешает свободно копировать, использовать для любых целей, модифицировать, распространять, продавать программы, сохраняя информацию об авторах данного программного обеспечения.
Обычно программная система Linux распространяется в виде дистрибутива (distribution), содержащего средства инсталляции и раскрутки системы. Большинству пользователей трудно самим собрать систему из разрозненных частей. Но не существует некоего стандартного дистрибутива - их много, каждый со своими преимуществами и недостатками. В мире Linux выделяют три группы дистрибутивов:
· Группа Red Hat (Mandrake, Fedora, ASPLinux, AltLinux и т.д.)
· Группа Debian GNU/Linux (Debian, StormLinux, Knoppix)
· Группа Slackware (SuSe Linux)
Современные дистрибутивы позволяют устанавливать на свой компьютер Linux так же просто, как Windows, отвечая на вопросы мастера установки. При этом будет установлена не только операционная система, но и прикладное программное обеспечение, входящее в состав дистрибутива.
Системные характеристики
Linux поддерживает большинство свойств, присущих другим реализациям UNIX, плюс ряд тех, которых больше нигде нет.
· Linux - это полная многозадачная многопользовательская операционная. Linux достаточно хорошо совместима с рядом стандартов для UNIX. Большинство свободно распространяемых по сети Internet программ для может быть откомпилировано для Linux практически без особых изменений. Кроме того, все исходные тексты для Linux, включая ядро, драйверы устройств, библиотеки, пользовательские программы и инструментальные средства распространяются свободно.
· Linux поддерживает виртуальные консоли (virtual consoles), которые позволяют «переключать экраны» на консоли в текстовом режиме. Пользователь может одновременно работать на разных консолях под разными именами, на одной консоли выполнять администрирование, а на другой – работать в стандартных приложениях.
· Linux, как представитель семейства UNIX, поддерживает различные типы файловых систем для хранения данных.
§ EXT2FS, MINIX-1, XENIX XFS, RaiserFS, JFS, EXT3, NFS, RFS и др .
§ Программная поддержка FAT16, VFAT , NTFS
§ Поддерживается также файловая система ISO 9660 CD-ROM для работы с дисками CD-ROM.
1. Linux обеспечивает полный набор протоколов TCP/IP для сетевой работы. Поддерживается весь спектр клиентов и услуг TCP/IP, таких как FTP, telnet, NNTP и SMTP, что позволяет без особых проблес интегрировать компьютер в локальную и глобальную сети.
2. Ядро Linux сразу создано с учетом специального защищенного режима для процессоров Intel. Это делает систему более надежной и безопасной.
3. Оптимальное использование памяти. Ядро Linux поддерживает загрузку только нужных страниц. То есть с диска в память загружаются те сегменты программы, которые действительно используются. Возможно использование одной страницы, физически один раз загруженной в память, несколькими выполняемыми программами.
Для увеличения объема доступной памяти Linux использует виртуальную память, на жестком диске создается область подкачки (swap space), ее размер обычно в два раза превышает объем оперативной памяти. В эту область ядро выгружает не весь процесс, а только отдельные его части, в которых сейчас нет необходимости. Когда системе нужно больше физической памяти, то она с помощью свопинга выводит неактивные страницы на диск. Это позволяет выполнять более объемные программы и обслуживать одновременно больше пользователей.
1. Выполняемые программы используют динамически связываемые библиотеки, т.е. выполняемые программы могут совместно использовать библиотечную программу, представленную одним физическим файлом на диске. Это позволяет выполняемым файлам занимать меньше места на диске, особенно тем, которые многократно используют библиотечные функции.
Интерфейс пользователя
Поскольку Linux является подобной ОС, то все, что было сказано о пользовательском интерфейсе в UNIX относится в полной мере и к ОС Linux. То есть в этой ОС используется командный интерфейс, но имеется возможность применения и графического интерфейса.
Файловая система
Linux поддерживает большое количество файловых систем:
· EXT 2 FS, MINIX -1 и XENIX – нежурналируемые файловые системы;
· XFS, RaiserFS, JFS, EXT3 – более надежные журналируемые файловые системы;
· NFS , RFS – сетевые файловые системы (см. Распределенные файловые системы UNIX);
· Поддержка FAT16, FAT32 (имеют тип VFAT ) позволяет непосредственно обращаться к гибким дискам MS-DOS, а также к файловым разделам DOS и Windows на винчестере, осуществлять операции чтения и записи; NTFS – данные доступны только для чтения, записанные данные не принимаются ОС Windows. Таким образом, если один из разделов диска отформатировать под FAT, то в будет доступ к разделам Windows (чего нельзя сказать о Windows – для нее Linux-разделы не существуют, для решения этой проблемы есть множество специальных программ).
· ISO 9660 CD-ROM для работы с дисками CD-ROM.
Чтобы работать с какой-либо, существующей на внешнем носителе, файловой системой, пользователь должен ее смонтировать («привить» в виде ветви к общему дереву каталогов, корнем которого является «/»). При монтировании ядро системы считывает управляющие структуры файловой системы с внешнего носителя в оперативную память. Завершив работу с файловой системой, необходимо ее размонтировать. При размонтировании ядро записывает на внешний носитель не записанные данные (из кэш) и удаляет из оперативной памяти информацию об управляющих структурах файловой системы. Если файловая система была смонтирована в режиме только-чтение (read-only), ее размонтирование перед завершением работы системы не является обязательным (запись была запрещена, значит никаких не записанных данных не было).
Корневую файловую систему ядро монтирует самостоятельно на одном из последних этапов загрузки. В качестве корневой может быть использована любая поддерживающая атрибуты UNIX файловая система: EXT2, EXT3, REISERFS и т.п. Не могут быть корневыми файловые системы FAT, NTFS, ISO9660 и т.п.
Монтирование и размонтирование файловой системы выполняются программами mount и umount.
Монтирование выполняется в любой каталог, принадлежащий ранее смонтированной файловой системе. После монтирования этот каталог (называемый точкой монтирования – mount point) отображает данные смонтированной файловой системы. Если в этом каталоге были какие-то данные, то они становятся недоступны до размонтирования.
mount -настройки_монтирования устройство точка_монтирования
Где
настройки_монтирования – определяют особые параметры, отличающиеся в разных файловых системах;
устройство – имя устройства, на котором расположена монтируемая файловая система (дискета, раздел жесткого диска, CD ROM, съемный диск и т.д.);
точка_монтирования – полный путь к каталогу, в который будет монтироваться файловая система.
Дата: 2019-05-28, просмотров: 203.