Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634620)
Контекстум
.

Операционные системы (110,00 руб.)

0   0
АвторыГруздев Денис Владиславович
ИздательствоИздательский дом ВГУ
Страниц42
ID670095
АннотацияУчебное пособие подготовлено на кафедре функционального анализа и операторных уравнений математического факультета.
Операционные системы / Д.В. Груздев .— Воронеж : Издательский дом ВГУ, 2017 .— 42 с. — 42 с. — URL: https://rucont.ru/efd/670095 (дата обращения: 19.04.2024)

Предпросмотр (выдержки из произведения)

Операционные_системы_.pdf
Стр.1
Стр.3
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Операционные_системы_.pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРИТЕТ» Д.В. Груздев ОПЕРАЦИОННЫЕ СИСТЕМЫ (2-3 курс) Учебное пособие Воронеж Издательский дом ВГУ 2017 1
Стр.1
«Операционные системы: практика». Системное программное обеспечение означает программы и комплексы программ, являющиеся общими для всех, кто совместно использует технические средства компьютера, и применяемые как для автоматизации разработки (создания) новых программ, так и для организации выполнения программ существующих. С этих позиций системное программное обеспечение может быть разделено на следующие пять групп: 1. Операционные системы, 2. Системы управления файлами. 3. Интерфейсные оболочки для взаимодействия пользователя с ОС и программные среды. 4. Системы программирования. 5. Утилиты. 1. Под операционной системой (ОС) обычно понимают комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой — предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений. Любой из компонентов прикладного программного обеспечения обязательно работает под управлением ОС. На рис. 1 изображена обобщенная структура программного обеспечения вычислительной системы. Видно, что ни один из компонентов программного обеспечения, за исключением самой ОС, не имеет непосредственного доступа к аппаратуре компьютера. Даже пользователи взаимодействуют со своими программами через интерфейс ОС. Любые их команды, прежде чем попасть в прикладную программу, сначала проходят через ОС. Основными функциями, которые выполняет ОС, являются следующие: - прием от пользователя (или от оператора системы) заданий или команд, сформулированных на соответствующем языке — в виде директив (команд) оператора или в виде указаний (своеобразных команд) с помощью соответствующего манипулятора (например, с помощью мыши), — и их обработка; - прием и исполнение программных запросов на запуск, приостановку, остановку других программ; - загрузка в оперативную память подлежащих исполнению программ; - инициация программы (передача ей управления, в результате чего процессор исполняет программу); 3
Стр.3
end; При написании процедуры Execute этот метод можно вызвать следующим образом: Synchronize(UpdateCaption); Задача. Для иллюстрации приёмов работы с потоками создадим программу, которая будет непрерывно обновлять содержимое поля Memo1 и при этом осуществлять математические вычисления. Окно работающей программы: Основной поток программы активизируется при щелчке на кнопке Квадрат: вначале содержимое расположенного над ней поля Edit1 возводится в квадрат до тех пор, пока отображаемое в нём значение не станет больше 1000000. В этот момент надпись на кнопке меняется на Корень, а щелчок на ней вычисляет корень квадратный из величины в поле Edit1. Дополнительный поток запускается в обработчике события OnActivate главной формы: procedure TForm1.FormActivate(Sender: TObject); begin T1:=MyThread.Create(false) end; В этом методе объект T1 инициализируется вызовом конструктора MyThread.Create с параметром, который показывает, должен ли вновь созданный поток ″спать″ (значение true) или он обязан немедленно начать работу (значение false). Программа может в любой момент приостановить работу потока, присвоив его свойству Suspended значение true, и продолжить его выполнение, присвоив этому свойству значение false. В дополнительном потоке будем непрерывно формировать по 50 строк в поле Memo1 (каждая строка состоит из 20 одинаковых чисел от 0 до 99). Для предотвращения переполнения внутреннего буфера поля Memo оно периодически очищается методом Clear. Чтобы цифры не мелькали слишком быстро, используется процедура sleep(t), задерживающая выполнение программы на t миллисекунд. Текст основного модуля: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Memo1: TMemo; 6
Стр.6
procedure Button1Click(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if tag=0 then begin edit1.Text:=floattostr(sqr(strtofloat(edit1.Text))); if strtofloat(edit1.Text)>1000000 then begin tag:=1; button1.Caption:='Корень' end end else begin edit1.Text:=floattostr(sqrt(strtofloat(edit1.Text))); if strtofloat(edit1.Text)<2 then begin tag:=0; button1.Caption:='Квадрат' end end end; procedure TForm1.FormActivate(Sender: TObject); begin T1:=MyThread.Create(false) end; end. Модуль потока: unit Unit2; interface uses Classes; type MyThread = class(TThread) private { Private declarations } protected s:string; procedure UpdateMemo; procedure Execute; override; end; var T1 : MyThread; implementation uses unit1, SysUtils; procedure MyThread.Execute; var k, j : integer; begin repeat for k:=0 to 99 do begin 7
Стр.7
s:=''; for j:=1 to 20 do s:=s + inttostr(k); sleep(300); synchronize(UpdateMemo); end; until false; end; procedure MyThread.UpdateMemo; begin with form1.memo1.Lines do if count>50 then clear else end; end. Задача1. Создать приложение, основной поток которого осуществляет вычисление площади треугольника по трём данным сторонам, а дополнительный поток непрерывно заполняет поле Memo1 значениями синуса угла (данного в радианах) с шагом 0.1 радиан. (В первой колонке значения угла в радианах, во второй – синус этого угла). add(s) Задача2. Создать приложение, основной поток которого осуществляет поиск корней квадратного уравнения ax2 + bx + c =0, а дополнительный поток непрерывно меняет цвет метки label1 с зелёного на красный и обратно. 8
Стр.8
Файловая система. /bin Основные программы, необходимые для работы в системе: командные оболочки, файловые утилиты и т.п. /sbin Команды для системного администрирования, а также программы, выполняемые в ходе загрузки /boot Файлы, необходимые для загрузки системы (образ ядра) /home Домашние каталоги пользователей, кроме root /dev Файлы устройств /etc Файлы настроек: стартовые сценарии, конфигурационные файлы графической системы и различных приложений /lib Системные библиотеки, необходимые для основных программ, и модули ядра /lost+found Восстановленные после аварийного размонтирования части файловой системы /media Сюда обычно монтируются съемные носители: компакт-диски, flash-накопители /mnt Временные точки монтирования жестких дисков. Использовать этот каталог необязательно: подмонтировать файловую систему можно к любому другому каталогу /opt Дополнительные пакеты программ. Если программа, установленная сюда, больше не нужна, то достаточно удалить ее каталог без обычной процедуры деинсталляции /proc Виртуальная файловая система, дающая доступ к информации ядра (например, выведите на экран файл /proc/cpuinfo). Другие файлы в этом каталоге в каждый момент времени содержат информацию о выполняющихся в этот момент программах /root Домашний каталог суперпользователя. Домашние каталоги всех остальных могут находиться на отдельном разделе, но /root должен быть в корневой файловой системе, чтобы администратор всегда мог войти в систему для ремонтных работ 9
Стр.9
/tmp Временные файлы /var Часто меняющиеся данные: системные журналы и протоколы приложений, замки, почтовые ящики, очереди печати и т.п. /usr Практически все остальное: программы, исходные коды, документация. Сюда по умолчанию устанавливаются новые программы В ОС UNIX поддерживается три способа указания имен файлов:  Краткое имя. Имя, не содержащее специальных метасимволов косая черта (/), является кратким именем файла. По краткому имени можно сослаться на файлы текущего каталога. Например, команда ls -l .profile требует получить полную информацию о файле .profile в текущем каталоге.  Относительное имя. Имя, не начинающееся с символа косой черты (/), но включающее такие символы. Оно ссылается на файл относительно текущего каталога. При этом для ссылки на файл или каталог в каком-то другом каталоге используется метасимвол косой черты (/). Например, команда ls -l ../.profile требует получить полную информацию о файле .profile в родительском каталоге текущего каталога, а команда vi doc/text.txt требует открыть в редакторе vi файл text.txt в подкаталоге doc текущего каталога.  Полное имя. Имя, начинающееся с символа косой черты (/). Оно ссылается на файл относительно корневого каталога. Это имя еще называют абсолютным, так как оно, в отличие от предыдущих способов задания имени, ссылается на один и тот же файл независимо от текущего каталога. Например, команда ls -l /home/user01/.profile требует получить полную информацию о файле .profile в каталоге /home/user01 независимо от того, в каком каталоге выполняется. Получение информации о текущем каталоге Команда pwd выдает полное имя текущего (рабочего) каталога. Команда pwd не имеет параметров. Вот пример ее использования: $ pwd /home/user01 $ Изменение текущего каталога Для изменения текущего каталога используется команда cd: cd [каталог] Если каталог не указан, используется значение переменной среды $HOME (обычно это начальный каталог пользователя). Чтобы сделать новый каталог текущим (войти в каталог), нужно иметь для него право на выполнение. Команда cd является встроенной командой интерпретатора и использует для изменения текущего каталога соответствующий системный вызов. Рассмотрим пример совместного использования команд cd и pwd для переходов по каталогам файловой системы: $ pwd /home/user01 $ cd .. $ pwd /home $ cd user01/tmp $ pwd /home/user/tmp $ cd $ pwd /home/user01 Получение информации о файлах Для просмотра информации о типах (и других атрибутах) файлов в ОС UNIX используется команда ls со следующим синтаксисом: ls [-abCcdeFfgiLlmnopqRrstux1] [файл ...] 10
Стр.10

Облако ключевых слов *


* - вычисляется автоматически
.
.