Реферат: Эмуляция командного процессора ОС UNIX в среде Windows 9x

Министерство образования РоссийскойФедерации

ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Естественно-гуманитарный факультет

Кафедра САПРИС

КУРСОВАЯ РАБОТА

по дисциплине Операционные системы

Тема “Эмуляция командногопроцессора ОС UNIXв среде Windows9x”

 

Выполнил студент       ИС-012                                                    Тимофеев Д.А.      .

                                                              Группа                                            Подпись, дата                       инициалы, фамилия

Руководитель                                                                                  КоролевЕ.Н.        .

                                                                                                                       Подпись, дата                       инициалы, фамилия

Члены комиссии                                                                                                            .

                                                                                                                       Подпись,дата                       инициалы,фамилия

                                                                                                                                       .

                                                                                                                        Подпись,дата                       инициалы,фамилия

Нормоконтроллер                                                                                                         .

                                                                                                                       Подпись, дата                      инициалы, фамилия

Защищена                                                              Оценка                                  .

                                            Дата

2003

Воронежский государственныйтехнический университет

Кафедра САПРИС

ЗАДАНИЕ

на курсовую работу

по дисциплине Операционные системы

Тема Эмуляция командного процессора ОС UNIXв среде Windows9x

Студент группы           ИС-012                     Тимофеев Дмитрий Александрович   .

                                                                                                                                                    фамилия  имя отчество

Перечень вопросов, подлежащих разработке                                                            .

                                                                                                                                       .

                                                                                                                                       .

                                                                                                                                       .

                                                                                                                                       .

Объем работы (графические работы, расчеты, прочее)                                            .

                                                                                                                                       .

                                                                                                                                        .

                                                                                                                                       .

Сроки выполнения этапов                                                                                           .

                                                                                                                                       .

Срок защиты курсовой работы                                                                                    .

Руководитель                                                                                  КоролевЕ.Н.        .

                                                                                                                       Подпись,дата                       инициалы,фамилия

Задание принял студент                                                                 ТимофеевД.А.    .

                                                                                                                        Подпись,дата                       инициалы,фамилия

Замечания руководителя

Содержание

<table cellspacing=«0» cellpadding=«0» ">

Задание на курсовую работу

Замечания руководителя

Введение

2

3

5

1.

2.

3.

Описание файловой системы операционной системы UNIX

Описание полученных для реализации команд и сравнение их с родственными командами Windows9x

2.1 Описание команд UNIX

2.2 Описание команд Windows9x

Программная реализация

3.1 Выбор языка программирования

3.2 Инструкция пользователю

3.3 Описание структуры программы

3.4 Используемые модули

3.5 Пример работы программы

6

12

12

14

18

18

18

19

19

20

Заключение

Список литературы

Приложение А Листинг программы

22

23

24

Введение

Давно ушли в прошлоевремена компьютеров первых поколений, когда аппаратные средства были главнымпредметом вожделения специалистов. В те времена, 50-60-е годы, вопрос опрограммных средствах стоял так: если есть – хорошо, нет – сами напишем, толькодайте ЭВМ. Сегодня, прежде всего в силу экономических обстоятельств, т.е. поменявшегосясоотношения стоимости в диаде «аппаратные средства / программные средства», ивысокой стоимости разработки удовлетворяющих современным требованиям, ноотсутствующих по той или иной причине программных средств, при приобретении компьютерачаще обращают внимание на наличие на него доступного (по факту и по цене)программного обеспечения. Полный комплект программного обеспечения, необходимогодля организации, например автоматизированного рабочего места (АРМ)инженера-проектировщика, научного работника (физика, химика, биолога и т.д.) постоимости превосходит (порой в несколько раз) стоимость компьютера адекватногокласса.

Особое место среди программныхсредств всех типов занимают операционные системы, являясь ядром программногообеспечения.

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

ОС UNIX — одна из старейших и наиболее простыхоперационных систем, изначально была рассчитана на разработку программ (для неесамой и не только) на мини-ЭВМ и позволяла без больших затрат трудапрограммиста переносить программу из одной системы ЭВМ на другую.Неудивительно, что сейчас продается много различных вариантов мобильнойоперационной системы UNIX, таких как XENIX, UNIXWARE, SUN-OS, LINUX, BSD.

В данной работе будетразработан эмулятор команд ОС UNIXв среде MS-DOS, разработаны следующие команды: cat, comm, dircmp, rmdir, ls, mv, tr, а также команда man– справка.

1. Описаниефайловой системы операционной системы UNIX

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

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

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

Наиболее распространеннымвидом файлов, внутренняя структура которых обеспечивается файловыми системамиразличных операционных систем, являются файлы с последовательной структурой.Такого рода файлы можно рассматривать как набор составных элементов, называемыхлогическими записями (или блоками), длина которых может быть как фиксированной,так и переменной, и доступ к которым – последовательный, т.е. для обработки(считывания или записи) i-й записидолжна быть обработана предыдущая (i-1)-я запись.

В ряде файловых системпредусматривается использование более сложных логических структур, чемпоследовательная. Например, записи в файле могут образовывать древовидныеструктуры, может использоваться индексно-последовательная организация файлов (супорядочением записей по значению некоторых полей) или так называемая, библиотечнаяструктура файлов, использующая уровень учетной информации (каталога),облегчающей поиск и доступ к отдельным компонентам файлов. На физическом уровнеблоки файла (обычно размером 256 или 512 байт) могут размещаться в памяти непрерывнойобластью или хранится несмежно. Первый способхранения файлов, реализованный, например, в операционной системе РАФОС,приводит к затруднениям при изменении размеров файлов (т.е. к необходимостиперезаписи файлов, если их длина увеличивается, или хранения «дыр», если длинауменьшается).

Наиболее развитыймеханизм несмежного распределения блоков файлов реализован в операционнойсистеме UNIX, в которой размеры файлов могут динамически изменяться в пределах1Гбайт. Каждый файл в системе имеет дескриптор, в составе которого хранитсясписок, содержащий 13 номеров блоков на диске и используемый для адресации ктем блокам, которые входят в состав файла. Первые десять элементов списканепосредственно указывают на десять блоков, в которых размещаются данные файла.В одиннадцатом элементе списка указан номер блока, хранящий список из 128номеров блоков данных, которые принадлежат файлу (это первый уровень косвеннойадресации). Двенадцатый элемент ссылается на блок, который содержит список из128 номеров блоков первого уровня косвенной адресации (это второй уровенькосвенной адресации). С помощью тринадцатого элемента указывается ссылка наблок, содержащий список из 128 номеров блоков второго уровня косвенной адресации.

Роль учетного механизма,позволяющего обслуживать десятки и сотни файлов, в файловой системе оченьважна. Общим приемом является сведение учетной информации о расположении файловна магнитном диске в одно место – его каталог (директорий). Каталогпредставляет собой список элементов, каждый из которых описывает характеристикиконкретного файла, используемые для организации доступа к этому файлу – имя файла,его тип, местоположение на диске и длину файла. В простых операционных системах(например, операционной системе РАФОС) местоположение единственного каталога намагнитном диске (дискете) и его размер фиксированы. В более сложных системах каталогможет находиться в любом месте диска, но на него должна иметься ссылка в, такназываемой, метке тома, находящейся в фиксированном месте и формируемой приинициализации диска. Более того, каталогов может быть большое число, и онимогут быть логически связаны в какие-либо информационные структуры. Так,наиболее развитая многоуровневая файловая система UNIXподдерживает иерархическую(древовидную) систему каталогов (рис.1). Каждый пользователь может работать всоставе этой структуры со своей системой каталогов (со своим поддеревом).Полное имя файла в данной структуре задает путь переходов между каталогами влогической структуре каталогов.

dev– специальныефайлы

lib– библиотеки(подпрограммы)

bin– частоиспользуемые программы

etc– командыадминистратора

tmp–временные файлы

users– каталогипользователя

usr/lib– библиотеки

usr/games– игры

usr/bin– редко используемые команды

/

lib

etc

users

dev

bin

tmp

usr

games

bin

lib

peter

<img src="/cache/referats/24055/image001.gif" v:shapes="_x0000_s1027 _x0000_s1037 _x0000_s1038 _x0000_s1039 _x0000_s1040 _x0000_s1041 _x0000_s1042 _x0000_s1043 _x0000_s1044 _x0000_s1045 _x0000_s1046 _x0000_s1047 _x0000_s1048 _x0000_s1049 _x0000_s1050 _x0000_s1051 _x0000_s1052 _x0000_s1053 _x0000_s1054 _x0000_s1055 _x0000_s1056 _x0000_s1057 _x0000_s1058 _x0000_s1059 _x0000_s1060 _x0000_s1061 _x0000_s1062 _x0000_s1063 _x0000_s1064">


Рис. 1.Иерархическая система каталогов.

Файл обладает уникальнымидентификатором (именем), обеспечивающим доступ к файлу. Идентификатор включаетв себя собственное имя – буквенно-цифровое обозначение файла, которое можетсодержать специальные символы (подчеркивание, дефис,! и т.д.). Если именасоздаваемых файлов пользователь может задавать произвольно, то в использованиирасширений следует придерживаться традиций, согласно которой расширениеуказывает на тип файла, характер его содержимого.

Известны десяткиразличных расширений, используемых при работе с различными программнымисистемами.

В различных операционныхсистемах существую определенные ограничения на длину имени и расширения файлаимени файла. Так, в MS-DOSдлина имени файла не должна превышать восьми символов, арасширение – трех. В операционной системе UNIXограничения значительно менеежесткие.

Имена директориев,начиная от корневого, образующие путь к файлу, отделяемые при записи друг отдруга косой чертой ( в DOS, / в UNIX), также как и обозначение диска, относятся кидентификатору файла. Например, в MS-DOS

d:langpascalworkexample.pas

есть файл с именем exampleи расширением pas<img src="/cache/referats/24055/image002.gif" v:shapes="_x0000_s1026">, указывающим на то, что это текстпрограммы на Паскале, полный путь к которому:

d: — диск d;

langpascalwork– это структура вложенныхдиректориев, в самом

                                 внутреннем изкоторых находится необходимый

                                 файл example.pas.

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

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

Развитыемногопользовательские файловые системы обеспечивают также защиту и разделениеданных, хранящихся в файлах, при работе с ними разных пользователей. Так,например, после входа в систему UNIX(который производится по паролю) пользователь получаетдоступ к ряду системных, групповых и личных каталогов и файлов. Каждый файл икаталог имеет владельца. Обычно это пользователь, создавших их. Владелец можетзатем назначить тип защиты файла от трех категорий пользователей:

-<span Times New Roman"">       

владельца(самого себя);

-<span Times New Roman"">       

представителейтой же группы пользователей, и что владелец (понятие группы полезно присовместной работе над какими-либо проектами);

-<span Times New Roman"">       

всехостальных пользователей системы.

Каждый файл (каталог)имеет три вида разрешения на доступ:

-<span Times New Roman"">       

чтение(r– read) – можно просматривать содержимоефайла (каталога);

-<span Times New Roman"">       

запись(w– write) – можно менять содержимое файла(создавать или удалять файлы в каталоге);

-<span Times New Roman"">       

выполнение(x– execute) – можно использовать файл как командуUNIX.

Комбинация видов доступа к файлу записывается последовательностью9 символов:

rwxrwx rwx

Владелец

Группа

Остальные

<img src="/cache/referats/24055/image003.gif" v:shapes="_x0000_s1028 _x0000_s1029 _x0000_s1030 _x0000_s1031 _x0000_s1032 _x0000_s1033 _x0000_s1034 _x0000_s1035 _x0000_s1036">


Отсутствие права доступаобозначается минусом. Например, rwxr-x--x– файл может быть просмотрен,изменен и запущен на выполнение владельцем, просмотрен и выполнен членамигруппы, к которой относится владелец, и выполнен всеми остальнымипользователями системы.

2. Описаниеполученных для реализации команд и сравнение их с

родственнымикомандами Windows9х

2.1 Описаниекоманд операционной системы UNIX

CAT

сatпараметры файла(ы)

Вывод содержимого файлов.

> — объединить несколько файлов в один,

>> — присоединить файл к существующему,

-s– запрет вывода пустыхстрок.

COMM

сommпараметры файл_1 параметры файл_2

Построчное сравнение содержимого 2-х текстовых файлов. Вывод производитсяв три столбца: строки, содержащиеся в первом файле; строки, содержащиеся вовтором файле, строки, содержащиеся в обоих файлах.

-1 – запрет вывода 1-ого столбца,

-2 – запрет вывода 2-ого столбца,

-3 – запрет вывода 3-его столбца,

-12 – вывод только 3-его столбца,

-13 – вывод только 2-ого столбца,

-23 – вывод только 1-ого столбца.

DIRCMP

dircmpкаталог_1 каталог_2

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

RMDIR

rmdirпараметры каталог

Удаление каталога. Удаляемый каталог не должен содержать файлов илиподкаталогов.

-р – удалить указанный каталог и егородительский каталог, если он окажется после этого пустым,

-s– запрет выводасообщений об ошибках.

LS

lsпараметры каталог

Вывод списка файлов в каталоге. Если каталог не указан, использоватьтекущий каталог.

-1 – вывод информации о каждом файле или каталоге с новой строки,

-a– вывод информации овсех файлах и каталогах,

-R– рекурсивный просмотр,

-l– расширеннаяинформация о файлах,

-p–вывод наклонной чертыв конце имени каталога.

MV

mvпараметры исходный_файлконечный_файл

Переименование файла или перемещение одного или нескольких файлов вдругой каталог.

-f– запрет запросаподтверждений при перезаписи уже существующих файлов,

-i– требование запроса подтверждения при перезаписи существующих файлов.

TR

trстрока_1строка_2

Выполнение процедуры поиска и замены.

2.2 Описание команд MS-DOS

Общие команды MS-DOSраспознаются и выполняются команднымпроцессором command.com. Команды вводятся с клавиатуры, их ввод завершается нажатиемклавиши <ENTER>.

Общие команды DOSделятся на три группы:

-<span Times New Roman"">        

командыработы с дисками;

-<span Times New Roman"">        

командыработы с файлами;

-<span Times New Roman"">        

командыработы с каталогами;

-<span Times New Roman"">        

командыуправления системой;

Типовая структура командывыглядит следующим образом:

<имя_команды>[<список_параметров>][<список_ключей>]

Параметры (аргументы)указывают на те объекты, над которыми совершаются операции, ключи уточняютдействие команды. Признак ключа (переключателя) – наличие косой линии ‘/’.Квадратные скобки указывают на возможность отсутствия фрагмента.

DIR

Команда работы скаталогами; выводит на экран список директориев и файлов, находящихся внутри текущегодиректория. Если использовать команду DIRбез параметров и переключателя, онавыводит имена файлов (директориев), их расширения, размеры (в байтах), дату ивремя создания, их число, общий размер и размер свободного дисковогопространства.

Полный синтаксис таков:

DIR [диск:] [путь] [имя_файла] [/P] [/W] [/A[[: атрибуты]]]

         [/O[[:]порядок_сортировки]][…]

Параметры

<table cellspacing=«0» cellpadding=«0» ">

[диск:][путь]

указываю дисковод и каталог, оглавление которого нужно просмотреть;

[имя_файла]

указывают файл или группу файлов, список которых необходимо получить.

В имени файла могут бытьиспользованы символы заместители:

<table cellspacing=«0» cellpadding=«0» ">

?

заменяет один произвольный символ в имени файла;

*

заменяет произвольное число произвольных символов.

Ключи:

<table cellspacing=«0» cellpadding=«0» ">

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

/W

выводит информацию в сокращенном виде, только имена файлов и директориев (в 5 столбцов);

/A[[:]атрибуты]

выводит информацию тех директориев и файлов, атрибуты которых указаны.

Некоторые атрибуты:

<table cellspacing=«0» cellpadding=«0» ">

H

скрытые файлы;

-H

все файла, кроме скрытых;

S

системные файлы;

-S

все файлы, кроме системных;

D

директории;

-D

только файлы;

R

файлы только для чтения.

Параметр

/Q[[:]порядок_сортировки]

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

<st1:State w:st=«on»><st1:place w:st=«on»>DEL</st1:place></st1:State>(ERASE)

Команда работы с файлами;удаляет файлы.

Синтаксис:

<st1:State w:st=«on»><st1:place w:st=«on»>DEL</st1:place></st1:State>[диск:][путь]<имя_файла>[/P]

Параметр

[диск:][путь]<имя_файла>

указывает местонахождения и имяудаляемого файла или группы файлов, если в имени используютсясимволы-заместители.

Ключ /Р вызывает запросподтверждения для каждого удаляемого файла.

COPY

Команда работы с файлами;копирует один или более файлов в указанное место, а также может использоватьсядля слияния файлов.

Синтаксис:

COPY[/Y|/-Y] [/A|/B] <файл_источник>[/A|/B] [+ файл-источник [/A|/B] [+ …]] [файл_результат[/A|/B]] [/V]

Параметры состоят изобозначения дисковода, директория и имени файла.

<table cellspacing=«0» cellpadding=«0» ">

<файл-источник>

указывает местоположение и имя файла, содержимое которого необходимо копировать;

<файл-результат>

указывает местоположение и имя файла, в который нужно поместить скопированную информацию.

Ключи:

<table cellspacing=«0» cellpadding=«0» ">

/Y

указывает, что команда не должна запрашивать подтверждения при замене существующих файлов;

/V

проверка того, что новые файлы записаны правильно.

Еще команда той жегруппы:

RENAME(REN) – переименование файла или группыфайлов;

Примерами командуправления системой служат:

COMMAND– запусккомандного процессора;

EXIT– выход изкомандного процессора.

3. Программная реализация

3.1 Выбор языкапрограммирования

Для разработки эмуляциикомандного процессора ОС UNIXв среде Windows9xбыла разработана программа на языке BorlandPascal7.0.

Язык Pascal, начиная с момента своего созданияН. Виртом в 1971 году, играет особую роль и в практическом программировании, ив его изучении. С непревзойденной четкостью в нем реализованы принципыструктурного программирования. Pascalстал первым языком программирования, с которым знакомитсябольшинство будущих программистов.

Среда BorlandPascal 7.0 обладает мощными и удобными средствами длянаписания и отладки кода программы. Также он поддерживает концепции объектно-ориентированногопроектирования, хорошо структурирован и удобен в обращении.

3.2 Инструкция пользователю

Запуск программы в ОС Windows95/98/Me/2000/XP:

Кнопка “Пуск” –“Выполнить” – “Обзор”, найти и выделить файл с именем Unix_com.exe, — нажать “OK”. После запуска на экране мониторапоявится следующее сообщение: ->Эмулятор команд ОС UNIX<-.

Символ $ — приглашение квводу команд. При вводе команды exitпроисходит выход в систему. При неправильном вводекоманды или при любой другой ошибке появляется сообщение: “Команда введенанеправильно!”.

3.3 Описание структуры программы

Функции: </sp

еще рефераты
Еще работы по компьютерам. программированию