Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СППО.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
41.48 Кб
Скачать
  1. Операционная система. Функции, назначение. Многопользовательские системы. Мультипрограммные системы.

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

Ядро типичной ОС (UNIX) имеет следующую структуру:

Прикладные программы

Интерфейс системных вызовов

↨ ↨

Файловая система <-> Система управления процессами

↨ ↑

Система ввода-вывода │

↨ ↓

Драйверы

Аппаратное обеспечение

ОС классифицируется:

  • По количеству обслуживаемых пользователей:

    • Однопользовательские – в один момент времени в системе работает не более одного пользователя, не делается никаких различий между пользователями – все они имеют доступ ко всем ресурсам, предоставляемым ОС.

    • Многопользовательские – пользователи, использующие систему, различимы, могут работать в системе либо параллельно, либо не более одного в один момент времени. В таких системах существует необходимость в механизмах идентификации и аутентификации пользователей (по учетному имени и паролю), раздельному хранению данных и программ пользователей (в домашних каталогах). В таких системах применяются средства разграничения доступа на уровне пользователей – определение привилегий, дающих права доступа к файлам.

  • По количеству одновременно выполняемых программ пользователя

    • Однопрограммные – в один момент времени в системе запущена только одна программа пользователя, получающая полный доступ ко всем ресурсам, предоставляемым ОС.

    • Многопрограммные – в один момент времени в системе может быть запущено много программ (процессов). В этом случае в состав ядра ОС должен входить планировщик процессов.

Функции планировщика процессов:

  • создание и удаление процессов;

  • распределение системных ресурсов (процессорного времени, памяти) между процессами;

  • синхронизация процессов;

  • межпроцессное взаимодействие.

В таких ОС усложняется система ввода-вывода, т.к. один файл или устройство может использоваться совместно несколькими процессами. Для предотвращения конфликтов используются блокировки, разрешающие доступ к ресурсу только одному процессу в один момент времени.

  1. Языки управления заданиями (языки команд операционной системы). Процедуры.

Задание в ОС – последовательность операций, которую должна выполнить ОС для достижения некоторой конечной цели, необходимой пользователю. Примером задания может служить последовательность запуска нескольких программ.

cat /home/hello.txt

echo “All done”

Задания описываются при помощи формальных языков, называемые языками управления заданиями. В большинстве ОС обработка задания производится командным интерпретатором. Язык управления заданиями должен обладать следующими свойствами:

  • иметь средства определения последовательности выполнения программ в задании и средства определения используемых ресурсов (if, switch, for);

  • иметь средства определения типа выполнения программ (основной режим, фоновый режим, определение приоритета и т.п.);

  • иметь средства определения условий выполнения частей задания и ветвлений задания (if, switch);

  • иметь средства проверки состояния ресурсов ОС (файлов и процессов) и их свойств (например, прав доступа).

Примерами языков являются: Bash, CSH. Задание, выполняющее удаление всех временных файлов из домашних каталогов пользователей выглядит на BASH следующим образом:

Пример.

#!/bin/bash

for i in `ls /home/` ; do

rm /home/$i/~*

done

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

.proc1.sh param1 param2

либо в виде функции BASH

function proc1()

{

echo “test”

return $2

}

proc1 a b c