
- •Второй период (1955 - 1965)
- •Третий период (1965 - 1980)
- •Четвертый период (1980 - настоящее время)
- •Структура каталогов Linux
- •Классификация файловых систем
- •Создание новых пользователей
- •Удаление пользователей
- •Процесс - это объект ос Linux, который состоит из адресного пространства памяти и набора структур данных. По сути, процесс это запущенная программа или служба.
- •. Оболочка операционной системы (от англ. Shell — оболочка) — интерпретатор команд операционной системы (ос), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
- •Загрузчик операционной системы — системное программное обеспечение, обеспечивающее загрузку операционной системы непосредственно после включения компьютера.
- •Виды совместимости
- •24. Пото́к выполне́ния (англ. Thread — нить) — наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы.
. Оболочка операционной системы (от англ. Shell — оболочка) — интерпретатор команд операционной системы (ос), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (CUI) и графический пользовательский интерфейс (GUI).
Для обеспечения интерфейса командной строки в ОС часто используются командные интерпретаторы, которые могут представлять собой самостоятельные языки программирования, с собственным синтаксисом и отличительными функциональными возможностями.
Оболочка дает возможность работать в ОС конечному пользователю. На данный момент самая популярная оболочка – WINDOWS оболочка. Хотя есть и другие как KDE, GNOME и другие.
Ути́лита (англ. utility или tool) — компьютерная программа, расширяющая стандартные возможности оборудования и операционных систем, выполняющая узкий круг специфических задач. Утилиты предоставляют доступ к возможностям (параметрам, настройкам, установкам), недоступным без их применения, либо делают процесс изменения некоторых параметров проще (автоматизируют его). Утилиты зачастую входят в состав операционных систем или идут в комплекте со специализированным оборудованием.
Загрузчик операционной системы — системное программное обеспечение, обеспечивающее загрузку операционной системы непосредственно после включения компьютера.
Загрузчик операционной системы:
обеспечивает необходимые средства для диалога с пользователем компьютера (например, загрузчик позволяет выбрать операционную систему для загрузки);
приводит аппаратуру компьютера в состояние, необходимое для старта ядра операционной системы (например, на не-x86 архитектурах перед запуском ядра загрузчик должен правильно настроить виртуальную память);
загружает ядро операционной системы в ОЗУ. Загрузка ядра операционной системы не обязательно происходит с жесткого диска. Загрузчик может получать ядро по сети. Ядро может храниться в ПЗУ или загружаться через последовательные интерфейсы (это может пригодиться на ранней стадии отладки создаваемой компьютерной системы);
формирует параметры, передаваемые ядру операционной системы (например, ядру Linux передаются параметры, указывающие способ подключения корневой файловой системы);
передаёт управление ядру операционной системы.
\Альтернативные загрузчики:
LILO (LInux LOader) — загрузчик, в основном применяемый для загрузки ядра Linux
GRUB (Grand Unified Bootloader) — применяется для загрузки ядра Linux и Hurd
RedBoot — загрузчик для встраиваемых систем.
Loadlin — загружает Linux из под DOS или Windows.
Syslinux — загружает Linux из под DOS или Windows
BOOTP — применяется для загрузки по сети
BootX — загрузчик Mac OS X
SyMon — универсальный загрузчик, независим от типа операционной системы
Свойство ОС, характеризующее возможность выполнения в ОС приложений, написанных для других ОС, называется совместимостью
Виды совместимости
1.Совместимость на двоичном уровне
Двоичная совместимость достигается в том случае, если можно взять исполняемую программу, работающую в среде одной ОС и запустить ее на выполнение в среде другой ОС.
2. Совместимость на уровне исходных текстов
Совм-ть на уровне исх. текстов требует наличия соответствующих компиляторов в составе ПО ПК, на котором предполагается исполь-зовать данное приложение, а также совм-ти на уровне библиотек и системных вызовов. При этом необходима перекомпиляция исход-ных текстов программ в новые исполняемые модули.
Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам.
Вот некоторые из проблем, которые могут решать семафоры.
запрет одновременного выполнения заданных участков кода;
поочерёдный доступ к критическому ресурсу (важному ресурсу, для которого невозможен одновременный доступ).
Монитор— часть управляющей программы операционной системы, реализующая управление одной из фаз вычислительного процесса на ЭВМ. Чаще всего программа выступающая в роли монитора имеет пользовательский статус, т. е. не входит непосредственно в состав операционной системы. В ЭВМ могут быть запущены несколько программ-мониторов, каждая из которых реализует свою специфическую функцию. Например управление трансляцией, диалоговой отладкой, пакетом прикладных программ.
Сообщения – оповещение пользователя о чем либо системой. какие либо сообщения, по которым можно определить например в чем ошибка и т.д. Системные сообщения были придуманы системными программистами для быстрой отладки программы, после выпуска beta – релиза для тестирования. Тестеры отправляют разработчикам эти сообщения, если они появляются, а разработчики уже решают проблему.
Каждому процессу соответствует контекст, в котором он выполняется. Этот контекст включает содержимое пользовательского адресного пространства - пользовательский контекст (т.е. содержимое сегментов программного кода, данных, стека, разделяемых сегментов и сегментов файлов, отображаемых в виртуальную память), содержимое аппаратных регистров - регистровый контекст (таких, как регистр счетчика команд, регистр состояния процессора, регистр указателя стека и регистров общего назначения), а также структуры данных ядра (контекст системного уровня), связанные с этим процессом. Контекст процесса системного уровня в ОС UNIX состоит из "статической" и "динамических" частей. У каждого процесса имеется одна статическая часть контекста системного уровня и переменное число динамических частей.
Для того чтобы операционная система могла управлять процессами, она должна располагать всей необходимой для этого информацией. С этой целью на каждый процесс заводится специальная информационная структура, содержащая определенную важную информацию о процессе, и называемая дескриптором процесса (блоком управления процессом — Process Control Block — PCB). В общем случае дескриптор процесса содержит следующую информацию:
идентификатор процесса (так называемый PID — Process IDentificator);
· тип (или класс) процесса, который определяет для супервизора некоторые правила предоставления ресурсов;
· приоритет процесса, в соответствии с которым супервизор предоставляет ресурсы. В рамках одного класса процессов в первую очередь обслуживаются более приоритетные процессы;
· переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, в состоянии выполнения, ожидание устройства ввода/вывода и т.д.);
· защищенную область памяти (или адрес такой зоны), в которой хранятся текущие значения регистров процессора, если процесс прерывается, не закончив работы. Эта информация называетсяконтекстом задачи (процесса);
· информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершенных операциях ввода/вывода и т. п.);
· место (или его адрес) для организации общения с другими процессами;
· параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры).
Таким образом, в блоке управления процессом операционная система может сосредоточить всю ключевую информацию о процессе.
Блоки управления процессами, как правило, постоянно располагаются в оперативной памяти с целью ускорить работу супервизора, который организует их в списки (очереди) и отображает изменение состояния процесса перемещением соответствующего описателя из одного списка в другой.