Docsity
Docsity

Подготовься к экзаменам
Подготовься к экзаменам

Учись благодаря многочисленным ресурсам, которые есть на Docsity


Получи баллы для скачивания
Получи баллы для скачивания

Заработай баллы, помогая другим студентам, или приобретай их по тарифом Премиум


Руководства и советы
Руководства и советы

Лабораторная работа по предмету Операционные системы, Рефераты из Операционные системы

Лабораторная работа по предмету Операционные системы

Вид: Рефераты

2019/2020

Загружен 01.02.2020

Андрей23142
Андрей23142 🇷🇺

5

(1)

1 документ

1 / 18

Toggle sidebar

Сопутствующие документы


Частичный предварительный просмотр текста

Скачай Лабораторная работа по предмету Операционные системы и еще Рефераты в формате PDF Операционные системы только на Docsity! Федеральное государственное бюджетное образовательное учреждение высшего образования «Чувашский государственный университет имени И.Н.Ульянова» Операционные системы и сети Методические указания к лабораторным работам Димитриев А.П. Чебоксары 2019 Оглавление Лабораторная работа 3. Команды операционной системы Linux. Написание и компиляция программ. Система Midnight Commander...........................................................................................................................................................1 Лабораторная работа 4. Сценарии WSH для выполнения основных операций с файловой системой......................8 Лабораторная работа 6. Управление задачами и процессами. Процессы и их приоритеты.....................................16 Список рекомендуемой литературы...............................................................................................................................17 Оформление отчетов........................................................................................................................................................18 Лабораторная работа 3. Команды операционной системы Linux. Написание и компиляция программ. Система Midnight Commander 1. Цель работы Целью работы является изучение архитектуры и принципов функционирования многопользовательской многозадачной операционной системы Linux, особенности ее использования в качестве сервера и рабочей станции. Введение ОС Linux - это многопользовательская, многозадачная, многотерминальная операционная система (OC) из семейства UNIX, под управлением которой могутOC) из семейства UNIX, под управлением которой могут одновременно выполняться несколько задач. Она предназначена для работы на серверах и рабочих станциях, обеспечивает подключение дополнительных терминалов и допускает этом режиме использование графических оболочек. UNIX-сеpвеpы предназначены для хранения и обработки больших объемоввеpвеpы предназначены для хранения и обработки больших объемовы предназначены для хранения и обработки больших объемов информации. Особенно эффективно использование UNIX-серверов при распределенной обработке данных. Для этого разработаны системы распределенных вычислений в соответствии со стандартом CORBA. К таким системам относятся системы управления базами данных (OC) из семейства UNIX, под управлением которой могутСУБД типа Oracle, Informix), файл-серверы, FTP-серверы, WWW-серверы и др., которые поддерживаются ОС Linux. В распределенных системах информация может находиться на различных рабочих станциях, различных дисках, программные модули могут функционировать на различных компьютерах, но система работает таким образом, что это составляет единое целое. При обработке больших объемов информации используется технология клиент - сервер, при которой пользователь работает только с той информацией, которая ему необходима. Развитием технологии клиент - сервер является технология интеллектуальных агентов. ОС Linux является сетевой операционной системой для 32-х или 64-х разрядных платформ. Она обеспечивает маштабируемость в диапазоне от игровых приставок (OC) из семейства UNIX, под управлением которой могутSony Play Station) до кластерных серверов Internet. ОС Linux не связана с конкретной моделью компьютеров. Её ядро реализовано на языке высокого уровня (OC) из семейства UNIX, под управлением которой могутязыке СИ), что позволяет достаточно легко переносить эту систему с одной платформы на другую. Система распространяется по лицензии GNU либо подобным свободным лицензиям, обеспечивается как коммерческое, так и свободное сопровождение через Internet. Поставка исходных модулей системы обеспечивает возможность адаптации прикладных программ в случае перехода на другую платформу и дает возможность контроля кодов, реализующих несанкционированный доступ. В разработке системы приняло участие большое количество специалистов, зарегистрировавших свои авторские права, что дает гарантии ее немонополизации. Подключение персональных компьютеров (OC) из семейства UNIX, под управлением которой могутПК) в вычислительную сеть с UNIX - серверами может осуществляться по протоколу TCP/IP, при этом пользователи получают следующие возможности: 1) использование UNIX-сервера, как файл - сервера; 2) эмуляция на ПК удаленного терминала (OC) из семейства UNIX, под управлением которой могутрежим TELNET); 3) организация системы клиент - сервер (OC) из семейства UNIX, под управлением которой могутрабочая станция формирует SQL - запросы, сервер их обрабатывает); 4) непосредственный обмен файлами между ПК по протоколу FTP; 5) организация распределенных вычислений по стандарту CORBA. Все действия в ОС UNIX оформлены как процессы. Процесс представляет собой совокупность выполняемых программ или одну выполняемую программу, которые вызываются при исполнении системной команды. Процесс может породить один или несколько других процессов, которые могут выполняться параллельно. ОС Linux поддерживает многопроцессорную архитектуру для параллельного выполнения процессов. 2. Теоретическая часть Система включает следующие основные компоненты. Ядро. Выполняет функции управления памятью, процессорами. Осуществляет диспетчеризацию выполнения всех программ и обслуживание внешних устройств. Все действия, связанные с вводом/выводом и выполнением системных операций, выполняются с помощью системных вызовов. Системные вызовы реализуют программный интерфейс между программами и ядром. Имеется возможность динамического конфигурирования ядра. Диспетчер процессов Init. Активизирует процессы, необходимые для нормальной работы системы и производит их начальную инициализацию. Обеспечивает завершение работы системы, организует сеансы работы пользователей, в том числе, для удаленных терминалов. Интерпретатор команд Shell. Анализирует команды, вводимые с терминала либо из командного файла, и передает их для выполнения в ядро системы. Команды обычно имеют аргументы и параметры, которые обеспечивают модернизацию выполняемых действий. Shell является также языком программирования, на котором можно создавать командные файлы (OC) из семейства UNIX, под управлением которой могутshell-файлы). При входе в ОС пользователь получает копию интерпретатора shell в качестве 2 & - процесс выполняется в фоновом режиме, не дожидаясь окончания предыдущих процессов; ? - шаблон, распространяется только на один символ; * - шаблон, распространяется на все оставшиеся символы; | - программный канал - стандартный вывод одного процесса является стандартным вводом другого; > - переадресация вывода в файл; < - переадресация ввода из файла; ; - если в списке команд команды отделяются друг от друга точкой с запятой, то они выполняются друг за другом; && - эта конструкция между командами означает, что последующая команда выполняется только при нормальном завершении предыдущей команды (OC) из семейства UNIX, под управлением которой могут код возврата 0 ); || - последующая команда выполняется только, если не выполнилась предыдущая команда (OC) из семейства UNIX, под управлением которой могут код возврата 1 ); (OC) из семейства UNIX, под управлением которой могут) - группирование команд в скобки; { } - группирование команд с объединенным выводом; [] - указание диапазона или явное перечисление (OC) из семейства UNIX, под управлением которой могут без запятых); >> - добавление содержимого файла в конец другого файла. Примеры. who | wc - подсчет количества работающих пользователей командой wс (OC) из семейства UNIX, под управлением которой могутword count - счет слов); cat text.1 > text.2 - содержимое файла text.1 пересылается в файл text.2; mail s).tudent <название команды> file.txt - электронная почта передает файл file.txt всем пользователям, перечисленным в командной строке; cat text.1,text.2 - просматриваются файлы text.1 и text.2; cat text.1 >> text.2 - добавление файла text.1 в конец файла text.2; cc primer.c & - трансляция СИ - программы в фоновом режиме. Имя выполняемой программы по умолчанию a.out. cc -сервер (X-Windows).o primer.o primer.c - трансляция СИ-программы с образованием файла выполняемой программы с именем pвеpы предназначены для хранения и обработки больших объемовrimer.o; rm text.* - удаление всех файлов с именем text; {cat text.1; cat text.2} | lpr - пpвеpы предназначены для хранения и обработки больших объемовосмотpвеpы предназначены для хранения и обработки больших объемов файлов text.1 и text.2 и вывод их на печать; ps). [al] [number] - команда для вывода информации о процессах: -a - вывод информации обо всех активных процессах, запущенных с вашего терминала; -l - полная информация о процессах; number - номер процесса. Команда ps). без параметров выводит информацию только об активных процессах, запущенных с данного терминала, в том числе и фоновых. На экран выводится подробная информация обо всех активных процессах в следующей форме: F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 1 S 200 210 7 0 2 20 80 30 703a 03 0:07 cc 1 R 12 419 7 11 5 20 56 20 03 0:12 pвеpы предназначены для хранения и обработки больших объемовs F - флаг процесса (OC) из семейства UNIX, под управлением которой могут1 - в оперативной памяти, 2 - системный процесс, 4 - заблокирован в ОЗУ, 20 - находится под управлением другого процесса, 10 - подвергнут свопингу); S - состояние процесса (OC) из семейства UNIX, под управлением которой могутO - выполняется процессором , S - задержан, R - готов к выполнению, I - создается); UID - идентификатор пользователя; PID - идентификатор процесса; PPID - номер родительского процесса; C - степень загруженности процессора; PRI - приоритет процесса, вычисляется по значению переменной NICE и чем больше число, тем меньше его приоритет; 5 NI - значение переменной NICE для вычисления динамического приоритета, принимает величины от 0 до 39; ADDR - адрес процесса в памяти; SZ - объем ОЗУ, занимаемый процессом; WCHAN - имя события, до которого процесс задержан, для активного процесса - пробел; TTY - номер управляющего терминала для процесса; TIME - время выполнения процесса; CMD - команда, которая породила процесс. nice [-сервер (X-Windows).приращение приоритета] команда[аргументы] - команда изменения приоритета. Каждое запущенное задание (OC) из семейства UNIX, под управлением которой могутпроцесс) имеет номер приоритета в диапазоне от 0 до 39, на основе которого ядро вычисляет фактический приоритет, используемый для планирования процесса. Значение 0 представляет наивысший приоритет, а 39 - самый низший. Увеличение номера приоритета приводит к понижению приоритета, присвоенного процессу. Команда nice -сервер (X-Windows).10 ls). -сервер (X-Windows).l увеличивает номер приоритета, присвоенный процессу ls). -сервер (X-Windows). l на 10. renice 5 1836 - команда устанавливает значение номера приоритета процесса с идентификатором 1836 равным 5. Увеличить приоритет процесса может только администратор системы. kill [-сервер (X-Windows).s).ig] <название команды>идентификатор процесса> - прекращение процесса до его программного завершения. sig - номер сигнала. Sig = -15 означает программное (OC) из семейства UNIX, под управлением которой могутнормальное) завершение процесса, номер сигнала = -9 - уничтожение процесса. По умолчанию sig= -9. Вывести себя из системы можно командой kill -9 0. Пользователь с низким приоритетом может прервать процессы, связанные только с его терминалом. mc - вызов файлового менеджера (OC) из семейства UNIX, под управлением которой могутпрограммы - оболочки) Midnight Commander, аналогичного Norton Commander. s).ort [-сервер (X-Windows).dr] - сортировка входных файлов и вывод результата на экран. 3. Порядок выполнения работы 1. Ознакомиться с теоретической частью к лабораторной работе. 2. Зарегистрироваться в системе LINUX. Если его нет, зайти на сайт webminal.org (OC) из семейства UNIX, под управлением которой могутлогин setiam, пароль 210102), запустить терминал. 3. Определить день недели 1 января + № варианта по списку. Для этого, если 2008 год, ввести команду: cal 01 2008 4. Получить подробную информацию обо всех активных процессах. Для этого ввести команду pвеpы предназначены для хранения и обработки больших объемовs al 5. Запустить редактор Midnight Commander, введя команду mc. Создать два текстовых файла (OC) из семейства UNIX, под управлением которой могутс расширением TXT) и просмотреть их на экране. Для создания файла в mc надо: - с помощью клавиш перехода на клавиатуре (OC) из семейства UNIX, под управлением которой могутстрелки, Enter, Home и др.) выбрать нужную папку, а если ее нет, создать с помощью клавиши F7; - нажимая Shift+F4, перейти в окно текстового редактора; для редактирования используется F4. - ввести текст; - сохранить, нажимая F2 и вводя имя с расширением; - для выхода из текстового редактора нажать F10. Для просмотра экрана за синими панелями mc нажать Ctrl+O. Выполните поиск файлов из mc. Для поиска нужно использовать меню, для перехода в меню нажмите F9. 6. Получить информацию о работающих пользователях, подсчитать их количество и запомнить в файле. Используется команда who | wc. 6 7. Объединить текстовые файлы в единый файл и посмотреть его на экране. Используется команда cat, например: cat text.1 >> text.2. 8. Посмотреть приоритет своего процесса и уменьшить скорость его выполнения за счет повышения номера приоритета. Для этого в mc: - ввести команду pвеpы предназначены для хранения и обработки больших объемовs l; - прочесть значение PRI для mc; - выполнить команду nice -1 mc; - ввести ещё раз команду pвеpы предназначены для хранения и обработки больших объемовs l; - прочесть значение PRI для mc. 9. Используя редактор VI, написать программу на языке СИ. Пример программы: void main(OC) из семейства UNIX, под управлением которой могут) {;} Запустить ее на трансляцию в фоновом режиме. Для этого на сайте webminal.org используется команда gcc или cpвеpы предназначены для хранения и обработки больших объемовpвеpы предназначены для хранения и обработки больших объемов, например: gcc -o pвеpы предназначены для хранения и обработки больших объемовrimer.o pвеpы предназначены для хранения и обработки больших объемовrimer.c 10. Показать преподавателю исходный текст программы на языке СИ, текстовый файл c днем недели и информацией о процессах, файл с сохранением количества пользователей, результаты команды САТ и изменения приоритета. 11. Продемонстрировать выполнение СИ - программы. 12. Удалить свои файлы. Для удаления в mc используется клавиша F8. 13. В операционной системе Linux так же, как и в MS-DOS, имеются команды командной строки. К ним относятся следующие (OC) из семейства UNIX, под управлением которой могутвыводятся по команде helpвеpы предназначены для хранения и обработки больших объемов): №1 №2 №3 №4 №5 №6 % . : alias bg bind break builtin case cd comman d compвеpы предназначены для хранения и обработки больших объемовgen compвеpы предназначены для хранения и обработки больших объемовlete continue declare dirs disown echo enable eval exec exit expвеpы предназначены для хранения и обработки больших объемовort false fc fg for getopвеpы предназначены для хранения и обработки больших объемовts hash helpвеpы предназначены для хранения и обработки больших объемов history if kill let local logout pвеpы предназначены для хранения и обработки больших объемовopвеpы предназначены для хранения и обработки больших объемовd pвеpы предназначены для хранения и обработки больших объемовrintf pвеpы предназначены для хранения и обработки больших объемовushd pвеpы предназначены для хранения и обработки больших объемовwd read readonly return select set shift shopвеpы предназначены для хранения и обработки больших объемовt source suspвеpы предназначены для хранения и обработки больших объемовend test time times trapвеpы предназначены для хранения и обработки больших объемов true typвеpы предназначены для хранения и обработки больших объемовe typвеpы предназначены для хранения и обработки больших объемовeset ulimit umask unalias unset until variables wait while Номера команд определяются как (OC) из семейства UNIX, под управлением которой могутномер варианта по списку – 1) *2+1, причем нужно использовать две команды подряд в приведенном ниже списке. Задание к п. 13. Для получения справки по команде ввести helpвеpы предназначены для хранения и обработки больших объемов <имя команды>. Например: helpвеpы предназначены для хранения и обработки больших объемов % Копировать полученные справки по двум командам своего варианта в текстовый файл. Для этого использовать копирование текстового экрана в буфер обмена (OC) из семейства UNIX, под управлением которой могутпредварительно выделив копируемую часть). Затем создать текстовый файл, вставить из буфера и сохранить. Продемонстрировать полученный файл. Контрольные вопросы 1. Перечислите основные функции и назначение многопользовательской многозадачной операционной системы LINUX и ее отличительные особенности от однопрограммной системы DOS. 2. Какое назначение имеет ядро системы и интерпретатор команд? 3. В чем заключается понятие "student". Если имя задано верно,процесс"student". Если имя задано верно, и какие операции можно выполнить над процессами? 4. Как задаются и выполняются простые и сложные команды? 7 ' Описание: Работа с аргументами запущенного сценария '*************************************************** Opвеpы предназначены для хранения и обработки больших объемовtion Expвеpы предназначены для хранения и обработки больших объемовlicit Dim s,objArgs,Arg Set objArgs = WScripвеpы предназначены для хранения и обработки больших объемовt.Arguments ' Создаем объект WshArguments For Each Arg In objArgs s=s & Arg ' Формируем строки со значениями аргументов Next WScripвеpы предназначены для хранения и обработки больших объемовt.Echo s ' Выводим сформированные строки '************* Конец Листинг 5.1. Вывод всех параметров командной строки сценария (OC) из семейства UNIX, под управлением которой могутVBScripвеpы предназначены для хранения и обработки больших объемовt) (OC) из семейства UNIX, под управлением которой могутhtml, txt) Для проверки работы этого примера надо перетащить мышью два или более файлов на данный скрипт. Таким образом, используя стандартные входные и выходные потоки, можно из сценария обрабатывать строки вывода другого приложения или перенаправлять выводимые сценарием данные на вход программ-фильтров (OC) из семейства UNIX, под управлением которой могутFIND или SORT). Например, следующая команда будет сортировать строки вывода сценария exampвеpы предназначены для хранения и обработки больших объемовle.js и выводить их в файл sort.txt: cscripвеpы предназначены для хранения и обработки больших объемовt //Nologo exampвеpы предназначены для хранения и обработки больших объемовle.js | sort > sort.txt Опция //Nologo здесь нужна для того, чтобы в файл sort.txt не попадали строки с информацией о разработчике и номере версии WSH. Кроме этого, с помощью методов, работающих с входным потоком StdIn, можно организовывать диалог с пользователем, то есть создавать интерактивные сценарии. Соответствующий пример приведен в листинге 5.2. '*************************************************** '* Имя: Interact.vbs '* Язык: VBScripвеpы предназначены для хранения и обработки больших объемовt '* Описание: Ввод/вывод строк в консольном режиме, запускается с командной строки '*************************************************** Dim s ' Выводим строку на экран WScripвеpы предназначены для хранения и обработки больших объемовt.StdOut.Write "student". Если имя задано верно,Введите число: "student". Если имя задано верно, ' Считываем строку s = WScripвеpы предназначены для хранения и обработки больших объемовt.StdIn.ReadLine ' Выводим строку на экран WScripвеpы предназначены для хранения и обработки больших объемовt.StdOut.WriteLine "student". Если имя задано верно,Вы ввели число "student". Если имя задано верно, & s '************* Конец Листинг 5.2. Вывод/вывод строк в символьном режиме (OC) из семейства UNIX, под управлением которой могутhtml, txt) Примеры сценариев Далее приведены простые примеры сценариев, работающих с файловой системой (OC) из семейства UNIX, под управлением которой могутсоздание, копирование, удаление файлов и каталогов, чтение и запись строк в текстовом файле и т. д.). Получение сведений о диске Доступ к свойствам заданного локального или сетевого диска можно получить с помощью объекта Drive, который возвращается методом GetDrive объекта FileSystemObject, а также может быть получен как элемент коллекции Drives. В листинге 6.1 приведен сценарий DriveInfo.vbs, который выводит на экран некоторые свойства диска С. '*************************************************** ' Имя: DriveInfo.vbs ' Язык: VBScripвеpы предназначены для хранения и обработки больших объемовt ' Описание: Вывод на экран свойств диска C '*************************************************** 'Объявляем переменные Dim FSO,D,TotalSize,FreeSpвеpы предназначены для хранения и обработки больших объемовace,s 'Создаем объект FileSystemObject Set FSO = WScripвеpы предназначены для хранения и обработки больших объемовt.CreateObject(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,Scripвеpы предназначены для хранения и обработки больших объемовting.FileSystemObject"student". Если имя задано верно,) 'Создаем объект Drive для диска C Set D = FSO.GetDrive(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,C:"student". Если имя задано верно,) 10 s = "student". Если имя задано верно,Информация о диске C:"student". Если имя задано верно, & VbCrLf 'Получаем серийный номер диска s = s &"student". Если имя задано верно,Серийный номер: "student". Если имя задано верно, & D.SerialNumber & VbCrLf 'Получаем метку тома диска s = s & "student". Если имя задано верно,Метка тома: "student". Если имя задано верно, & D.VolumeName & VbCrLf 'Вычисляем общий объем диска в килобайтах TotalSize = D.TotalSize/1024 s = s & "student". Если имя задано верно,Объем: "student". Если имя задано верно, & TotalSize & "student". Если имя задано верно, Kb"student". Если имя задано верно, & VbCrLf 'Вычисляем объем свободного пространства диска в килобайтах FreeSpвеpы предназначены для хранения и обработки больших объемовace = D.FreeSpвеpы предназначены для хранения и обработки больших объемовace/1024 s = s & "student". Если имя задано верно,Свободно: "student". Если имя задано верно, & FreeSpвеpы предназначены для хранения и обработки больших объемовace & "student". Если имя задано верно, Kb"student". Если имя задано верно, & VbCrLf 'Выводим свойства диска на экран WScripвеpы предназначены для хранения и обработки больших объемовt.Echo s '************* Конец Листинг 6.1. Вывод информации о диске (OC) из семейства UNIX, под управлением которой могутVBScripвеpы предназначены для хранения и обработки больших объемовt) (OC) из семейства UNIX, под управлением которой могутhtml, txt) Создание каталога Создать новый каталог на диске можно либо с помощью метода CreateFolder объекта FileSystemObject, либо с помощью метода Add коллекции Folders. Оба эти метода используются в сценарии MakeFolder.vbs для создания в каталоге C:\Program Files подкаталогов Новая папка и Еще одна новая папка (OC) из семейства UNIX, под управлением которой могутлистинг 6.8). Измените пути на свои, так как иначе либо будет недостаточно прав, либо такие папки уже существуют. ' Имя: MakeFolder.vbs ' Язык: VBScripвеpы предназначены для хранения и обработки больших объемовt ' Описание: Создание нового каталога 'Объявляем переменные Dim FSO, F, SubFolders 'Создаем объект FileSystemObject Set FSO = WScripвеpы предназначены для хранения и обработки больших объемовt.CreateObject(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,Scripвеpы предназначены для хранения и обработки больших объемовting.FileSystemObject"student". Если имя задано верно,) 'Создаем каталог C:\Program Files\Новая папка FSO.CreateFolder(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,C:\Program Files\Новая папка"student". Если имя задано верно,) 'Создаем объект Folder для каталога C:\Program Files Set F = FSO.GetFolder(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,C:\Program Files"student". Если имя задано верно,) 'Создаем коллекцию подкаталогов каталога C:\Program Files Set SubFolders = F.SubFolders 'Создаем каталог C:\Program Files\Еще одна новая папка SubFolders.Add "student". Если имя задано верно,Еще одна новая папка"student". Если имя задано верно, '************* Конец Листинг 6.8. Создание нового каталога (OC) из семейства UNIX, под управлением которой могутVBScripвеpы предназначены для хранения и обработки больших объемовt) (OC) из семейства UNIX, под управлением которой могутhtml, txt) Удаление файлов и каталогов Для удаления файлов/каталогов можно применять метод DeleteFile/DeleteFolder объекта FileSystemObject или метод Delete соответствующего этому файлу/каталогу объекта File/Folder. Отметим, что при удалении каталога неважно, является ли он пустым или нет - удаление будет произведено в любом случае. Если же заданный для удаления файл/каталог не будет найден, то возникнет ошибка. В листинге 6.12 приведен сценарий DeleteFile.vbs, в котором производится удаление предварительно созданного файла C:\TestFile.txt. ' Имя: DeleteFile.vbs ' Язык: VBScripвеpы предназначены для хранения и обработки больших объемовt ' Описание: Создание и удаление файла 'Объявляем переменные Dim FSO,F,FileName 'Создаем объект FileSystemObject Set FSO = WScripвеpы предназначены для хранения и обработки больших объемовt.CreateObject(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,Scripвеpы предназначены для хранения и обработки больших объемовting.FileSystemObject"student". Если имя задано верно,) 'Задаем имя файла FileName="student". Если имя задано верно,C:\TestFile.txt"student". Если имя задано верно, 'Создаем файл Set F = FSO.CreateTextFile(OC) из семейства UNIX, под управлением которой могутFileName, true) 'Записываем в файл строку F.WriteLine "student". Если имя задано верно,Тестовый файл"student". Если имя задано верно, 11 'Закрываем файл F.Close WScripвеpы предназначены для хранения и обработки больших объемовt.Echo "student". Если имя задано верно,Файл создан"student". Если имя задано верно, FSO.DeleteFile FileName WScripвеpы предназначены для хранения и обработки больших объемовt.Echo "student". Если имя задано верно,Файл удален"student". Если имя задано верно, '************* Конец Листинг 6.12. Создание и удаление файла (OC) из семейства UNIX, под управлением которой могутVBScripвеpы предназначены для хранения и обработки больших объемовt) (OC) из семейства UNIX, под управлением которой могутhtml, txt) Далее рассматриваются свойства и методы стандартного объекта FileSystemObject. Сценарии WSH для доступа к файловой системе. Объектная модель FileSystemObject Сценарии WSH позволяют получить полный доступ к файловой системе компьютера, в отличие от JScripвеpы предназначены для хранения и обработки больших объемовt- или VBScripвеpы предназначены для хранения и обработки больших объемовt-сценариев, внедренных в HTML-страницы, где в зависимости от уровня безопасности, который устанавливается в настройках браузера, те или иные операции могут быть запрещены. Объекты для основных операций с файловой системой Для работы с файловой системой из сценариев WSH предназначены восемь объектов, главным из которых является FileSystemObject. С помощью методов объекта FileSystemObject можно выполнять следующие основные действия:  копировать или перемещать файлы и каталоги;  удалять файлы и каталоги;  создавать каталоги;  создавать или открывать текстовые файлы;  создавать объекты Drive, Folder и File для доступа к конкретному диску, каталогу или файлу соответственно. С помощью свойств объектов Drive, Folder и File можно получить детальную информацию о тех элементах файловой системы, с которыми они ассоциированы. Объекты Folder и File также предоставляют методы для манипулирования файлами и каталогами (OC) из семейства UNIX, под управлением которой могутсоздание, удаление, копирование, перемещение); эти методы в основном копируют соответствующие методы объекта FileSystemObject. Кроме этого имеются три объекта-коллекции: Drives, Folders и Files. Коллекция Drives содержит объекты Drive для всех имеющихся в системе дисков, Folders - объекты Folder для всех подкаталогов заданного каталога, Files - объекты File для всех файлов, находящихся внутри определенного каталога. Наконец, из сценария можно читать информацию из текстовых файлов и записывать в них данные. Методы для этого предоставляет объект TextStream. В табл. 6.1 кратко описано, какие именно объекты, свойства и методы могут понадобиться для выполнения наиболее часто используемых файловых операций. Таблица 6.1. Выполнение основных файловых операций Получение сведений об определенном диске (OC) из семейства UNIX, под управлением которой могуттип файловой системы, метка тома, общий объем и количество свободного места и т.д.) Свойства объекта Drive. Сам объект Drive создается с помощью метода GetDrive объекта FileSystemObject Получение сведений о заданном каталоге или файле (OC) из семейства UNIX, под управлением которой могутдата создания или последнего доступа, размер, атрибуты и т.д.) Свойства объектов Folder и File. Сами эти объекты создаются с помощью методов GetFolder и GetFile объекта FileSystemObject Проверка существования определенного диска, каталога или файла Методы DriveExists, FolderExists и FileExists объекта FileSystemObject Копирование файлов и каталогов Методы Copвеpы предназначены для хранения и обработки больших объемовyFile и Copвеpы предназначены для хранения и обработки больших объемовyFolder объекта FileSystemObject, а также методы File.Copвеpы предназначены для хранения и обработки больших объемовy и Folder.Copвеpы предназначены для хранения и обработки больших объемовy Перемещение файлов и каталогов Методы MoveFile и MoveFolder объекта FileSystemObject, или методы File.Move и Folder.Move Удаление файлов и каталогов Методы DeleteFile и DeleteFolder объекта FileSystemObject, или методы File.Delete и Folder.Delete Создание каталога Методы FileSystemObject.CreateFolder или 12 В сценарии CreateTempвеpы предназначены для хранения и обработки больших объемовFile.vbs (OC) из семейства UNIX, под управлением которой могутлистинг 6.9) показано, каким образом можно создать файл со случайно выбранным именем (OC) из семейства UNIX, под управлением которой могуттакие файлы часто используются для записи временных данных). ' Имя: CreateTempвеpы предназначены для хранения и обработки больших объемовFile.vbs ' Язык: VBScripвеpы предназначены для хранения и обработки больших объемовt ' Описание: Создание временного файла со случайным именем Dim FSO,FileName,F,s 'Объявляем переменные 'Создаем объект FileSystemObject Set FSO = WScripвеpы предназначены для хранения и обработки больших объемовt.CreateObject(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,Scripвеpы предназначены для хранения и обработки больших объемовting.FileSystemObject"student". Если имя задано верно,) 'Генерируем случайное имя файла FileName = FSO.GetTempвеpы предназначены для хранения и обработки больших объемовName 'Создаем файл с именем FileName Set F = FSO.CreateTextFile(OC) из семейства UNIX, под управлением которой могутFileName, true) 'Закрываем файл F.Close 'Сообщаем о создании файла WScripвеpы предназначены для хранения и обработки больших объемовt.Echo "student". Если имя задано верно,Был создан файл "student". Если имя задано верно, & FileName '************* Конец *Листинг 6.9. Создание временного файла со случайным именем (OC) из семейства UNIX, под управлением которой могутVBScripвеpы предназначены для хранения и обработки больших объемовt) (OC) из семейства UNIX, под управлением которой могутhtml, txt) Операции чтения и записи строк для текстового файла Последовательный (OC) из семейства UNIX, под управлением которой могутстрока за строкой) доступ к текстовому файлу обеспечивает объект TextStream. Методы этого объекта позволяют читать информацию из файла и записывать ее в него. Создается объект TextStream при открытии или создании текстового файла с помощью следующих методов: CreateTextFile объектов FileSystemObject и Folder; Opвеpы предназначены для хранения и обработки больших объемовenTextFile объекта FileSystemObject; Opвеpы предназначены для хранения и обработки больших объемовenAsTextStream объекта File. Перечисленные ранее методы позволяют открывать файл в разных режимах ввода/вывода (OC) из семейства UNIX, под управлением которой могутза это отвечает параметр Iomode) с использованием разных форматов (OC) из семейства UNIX, под управлением которой могутв соответствии со значением параметра Format) (OC) из семейства UNIX, под управлением которой могутсм. табл. 6.2, 6.3) Таблица 6.2. Параметр Iomode Константа Значение Описание ForReading 1 Файл открывается только для чтения, записывать информацию в него нельзя ForWriting 2 Файл открывается для записи. Если файл с таким именем уже существовал, то при новой записи его содержимое теряется ForApвеpы предназначены для хранения и обработки больших объемовpвеpы предназначены для хранения и обработки больших объемовending 8 Файл открывается для добавления. Если файл уже существовал, то информация будет дописываться в конец этого файла Таблица 6.3. Параметр Format Константа Значение Описание TristateUseDefault -2 Файл открывается в формате, используемом системой по умолчанию TristateTrue -1 Файл открывается в формате Unicode TristateFalse 0 Файл открывается в формате ASCII Копирование и перемещение файлов и каталогов Для копирования файлов/каталогов можно применять метод Copвеpы предназначены для хранения и обработки больших объемовyFile/Copвеpы предназначены для хранения и обработки больших объемовyFolder объекта FileSystemObject или метод Copвеpы предназначены для хранения и обработки больших объемовy соответствующего этому файлу/каталогу объекта File/Folder. Перемещаются файлы/каталоги с помощью методов MoveFile/MoveFolder объекта FileSystemObject или метода Move соответствующего этому файлу/каталогу объекта File/Folder. Отметим, что при использовании всех этих методов процесс копирования или перемещения прерывается после первой возникшей ошибки. Кроме того, нельзя перемещать файлы и каталоги с одного диска на другой. 15 В листинге 6.11 приведен сценарий Copвеpы предназначены для хранения и обработки больших объемовyFile.vbs, иллюстрирующий использование метода Copвеpы предназначены для хранения и обработки больших объемовy. В этом сценариях на диске C создается файл TestFile.txt, который затем копируется на рабочий стол. ' Имя: Copвеpы предназначены для хранения и обработки больших объемовyFile.vbs ' Язык: VBScripвеpы предназначены для хранения и обработки больших объемовt ' Описание: Создание и копирование файла 'Объявляем переменные Dim FSO,F,WshShell,WshFldrs,PathCopвеpы предназначены для хранения и обработки больших объемовy 'Создаем объект FileSystemObject Set FSO = WScripвеpы предназначены для хранения и обработки больших объемовt.CreateObject(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,Scripвеpы предназначены для хранения и обработки больших объемовting.FileSystemObject"student". Если имя задано верно,) 'Создаем файл Set F = FSO.CreateTextFile(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,C:\TestFile.txt"student". Если имя задано верно,, true) 'Записываем в файл строку F.WriteLine "student". Если имя задано верно,Тестовый файл"student". Если имя задано верно, 'Закрываем файл F.Close 'Создаем объект WshShell Set WshShell = WScripвеpы предназначены для хранения и обработки больших объемовt.CreateObject(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,Wscripвеpы предназначены для хранения и обработки больших объемовt.Shell"student". Если имя задано верно,) 'Создаем объект WshSpвеpы предназначены для хранения и обработки больших объемовecialFolders Set WshFldrs = WshShell.Spвеpы предназначены для хранения и обработки больших объемовecialFolders 'Определяем путь к рабочему столу PathCopвеpы предназначены для хранения и обработки больших объемовy = WshFldrs.item(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,Desktopвеpы предназначены для хранения и обработки больших объемов"student". Если имя задано верно,)+"student". Если имя задано верно,\"student". Если имя задано верно, 'Создаем объект File для файла C:\TestFile.txt Set F = FSO.GetFile(OC) из семейства UNIX, под управлением которой могут"student". Если имя задано верно,C:\TestFile.txt"student". Если имя задано верно,) 'Копируем файл на рабочий стол F.Copвеpы предназначены для хранения и обработки больших объемовy PathCopвеpы предназначены для хранения и обработки больших объемовy '************* Конец *Листинг 6.11. Создание текстового файла и копирование его в другой каталог (OC) из семейства UNIX, под управлением которой могутVBScripвеpы предназначены для хранения и обработки больших объемовt) (OC) из семейства UNIX, под управлением которой могутhtml, txt) Контрольные вопросы 1. Что нужно сделать, чтобы не выводилась информация о версии сервера сценариев в консольном режиме? 2. Какие имеются методы у объекта FileSystemObject? 3. Чем отличается синтаксис метода Echo для Java Scripвеpы предназначены для хранения и обработки больших объемовt от синтаксиса в Visual Basic Scripвеpы предназначены для хранения и обработки больших объемовt? 4. Какие объекты, свойства и методы могут понадобиться для выполнения наиболее часто используемых файловых операций? 5. В каких режимах ввода/вывода можно открывать файл, с использованием каких форматов? 6. Какое имеет значение параметр Overwrite? 7. Какое имеет значение параметр Unicode? Лабораторная работа 6. Управление задачами и процессами. Процессы и их приоритеты Цель работы: ознакомиться с возможностями программы «Диспетчер задач». Запустить «Диспетчер задач» разными способами: - нажимая клавиши Ctrl+Alt+Delete; - нажимая ПКМ в любом свободном от ярлыков месте панели задач, и выбирая пункт «Диспетчер задач» из открывшегося меню; - с помощью утилиты «Выполнить», вызвав ее комбинацией клавиш Windows + R и набрав в поле ввода «taskmgr»; - откройте File Expвеpы предназначены для хранения и обработки больших объемовlorer и перейдите в системную папку по пути «C:\Windows\System32». Найдите taskmgr.exe и запустите. Ознакомиться с возможностями программы «Диспетчер задач». Написать зацикливающуюся программу. Пример (OC) из семейства UNIX, под управлением которой могутфайл 1.bat): :1 Goto 1 Запустить два раза. 16 С помощью «Диспетчера задач» установить для первого процесса более высокий приоритет, чем для второго (OC) из семейства UNIX, под управлением которой могутнажимая правую кнопку мыши на названии). Определить, на сколько процентов они (OC) из семейства UNIX, под управлением которой могуткаждый) загружают процессор (OC) из семейства UNIX, под управлением которой могутстолбец ЦП на рис. 1). Рис. 1 Снять обе задачи (OC) из семейства UNIX, под управлением которой могутнажать «Завершить процесс»). Запустить Microsoft Word и Far Manager (OC) из семейства UNIX, под управлением которой могутесли их нет, то любые другие программы вместо Far и Microsoft Word). Выбрать отображаемые столбцы в диспетчере задач с помощью меню «Вид». Определить: - Число дескрипторов и потоков, создаваемых Word и Far. - Идентификаторы процессов Word и Far (OC) из семейства UNIX, под управлением которой могутстолбец PID). - Имя образа процесса для «Мой компьютер». Снова запустить 1.bat на 1 минуту и определить, сколько времени центрального процессора он занимает, а сколько заняла программа Word. Контрольные вопросы 1. Какие процессы запущены? 2. Какие виды памяти можно отображать для процессов? 3. Что можно узнать из «Диспетчера задач», чего не выполняли в лабораторной работе? Список рекомендуемой литературы 1. Симаков А.Л. Работа на персональной ЭВМ в MS-DOS: Метод. указания к лабораторным работам / Чуваш. ун-т. Чебоксары, 1993. 40 c. 2. Визерспун Крэг. Освой самостоятельно Linux за 24 часа. М.: Вильямс. 2001. 347 с. 3. Интернет университет информационных технологий. www . intuit . ru 4. Желтов П.В., Димитриев А.П. Операционные системы: Метод. указания к лабораторным работам. Чебоксары, Чуваш. ун-т, 2007. 12 с. 5. Попов А.В. Командная строка и сценарии Windows // www.intuit.ru/depвеpы предназначены для хранения и обработки больших объемовartment/os/compвеpы предназначены для хранения и обработки больших объемовromtwin 6. Димитриев А.П. Сетевые операционные системы: Метод. указания к лабораторным работам. Чебоксары, Чуваш. ун-т, 2009. 12 с. 17
Docsity logo