Пример: Глобальная сеть INTERNET
Я ищу:
На главную  |  Добавить в избранное  

Главная/

Программирование, базы данных. /

Сравнение операционных систем DOS, UNIX, OS/2, WINDOWS

Документ 1 | Документ 2

←предыдущая  следующая→
1 2 3 

1ѕ«\A‰‘‘‘‘’“ВВЕДЕНИЕ

 

      Операционная ситема UNIX изначально была написана для ЭВМ DEC PDP-7 в 1969 г., в 1970 г. была переписана с машинно-зависимого языка ассемблера (на котором тогда писались все операционные системы) на язык высокого уровня - Си и перенесена на более мощную машину - PDP-11/20. В 1974 г. UNIX была передана университетам ”для образовательных целей”, а несколько лет спустя нашла коммерческое применение.

      UNIX стала первой операционной системой, написанной на языке высокого уровня, что сильно облегчало ее перенос на другие ЭВМ, aдаптацию в соответствии с конкретными требованиями пользователя. Главной отличительной чертой этой системы является ее модульность и обширный набор системных утилит, простота их совместного использования, которые позволяют создать благоприятную операционную обстановку для пользователя-программиста.

      Операционные системы семейства MS-DOS (PC-DOS, DR-DOS и др.) появились вместе с первыми персональными компьютерами фирмы IBM в 1981 г. Персональные компьтеры IBM PC тогда имели неважные технические характеристики, были расчитаны на однопользовательский однозадачный режим (в отличае от UNIX - систем, работавших в многопользовательском многозадачном режиме). Обьем оперативной памяти компьютера IBM PC образца 1981 г. был 64 Kб., что предопределяло небольшой размер операционной системы и относительную бедность ее ситемных функций, и хотя в более поздних версиях набор средств был значительно расширен (версия 3.3, о которой и будет идти речь, включает в себя средства для работы в сети и защиту файлов), MS-DOS так и не ”доросла” до UNIX. С самого начала и компьютер, и операционная система были ориентированы на не очень квалифицированного пользователя, работающего с небольшим количеством программ узкого профессионального назначения.

ЖИЗНЕННЫЙ ЦИКЛ ПРОЦЕССА (ПРОГРАММЫ)

      Единицей управления и потребления ресурсов в системе служит процесс (в MS-DOS - программа). Процесс - последовательное (или псевдо-параллельное) вычисление. В частности, ввод/вывод обычно выполняется синхронно, и процесс приостанавливается до его завершения. Если требуется продолжить выполнение процесса параллельно с инициированным им вводом/выводом, в UNIX нeoбходимо предварительно породить другой процесс для реализации ввода/вывода; в MS-DOS можно воспользоваться механизмом прерываний. Каждый процесс работает в своем адресном пространстве.

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

      Функции семейства exec операционной системы UNIX позволяет передать управление другой программе, заменив текущий образ процесса образом новой программы, без создания нового процесса. При этом возврат к старому процессу невозможен.

      В MS-DOS программа может быть загружена в память с немедленным запуском (запуск начинается с первой инструкции) или  без запуска (оверлей) на выполнение, при этом для каждой программы в начале ее рабочей памяти создается специальная управляющая структура PSP - program segment prefix, которая отвечает за передачу управления в и из  прогаммы, хранит информацию об открытых файлах, параметрах, переданных программе при вызове.

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

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

РАСПРЕДЕЛЕНИЕ ПАМЯТИ

      Распределение памяти неразрывно связано с механизмом процессов (программ).

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

      Системные функции UNIX обеспечивают выделение, изменение размера и освобождение участков памяти.

СИГНАЛЬНЫЙ МЕХАНИЗМ

      Сигнальный механизм UNIX (в MS-DOS не документирован и не стандартизирован) позволяет процессам и операцоинной системе обмениваться информацией в реальном масштабе времени.

      Сигналы различаются своими номерами - целыми числами, начиная с 1 (сигнал 0 - зарезервирован). Среди них: аварийное завершение, арифметическая исключительная ситуация, разрыв связи, недопустимая инструкция, нарушение защиты памяти, запись в програмный канал, не открытый для чтения, а также различные сигналы завершений. Кроме стандартных сигналов, процесс может определить собственные - 'пользовательские' сигналы.

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

      На каждый сигнал, определенный в системе, процесс должен иметь реакцию - действие, которое он выполняет при получении сигнала. Когда вызывается определенная для данного процесса и сигнала реакция, считается, что сигнал передан процессу, которому он был предназначен.

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

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

      Допустимы три вида реакции на сигнал: игнорировние, перехват и стандартная реакция системы, перехват и вызов функции внутри процесса. Перехват и игнорирование сигналов приостановки и уничтожения процесса невозможны.

МНОГОПОЛЬЗОВАТЕЛЬСКАЯ ЗАЩИТА (только ОС UNIX)

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

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

      С каждым файлом связана пара идентификаторов: пользовательский и групповой. Файл наследует эти идентификаторы от эффективных идентификаторов процесса, создавшего данный файл. Процесс, эффективный пользовательский идентификатор которого совпадает с пользовательским идентификатором файла, считается владельцем данного файла.

      Файл можно читать, писать и выполнять. Если

←предыдущая  следующая→
1 2 3 


Copyright © 2005—2007 «RefStore.Ru»