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

Автор работы: Пользователь скрыл имя, 17 Апреля 2012 в 15:34, доклад

Описание

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

Работа состоит из  1 файл

В работе любой программы можно выделить три этапа.docx

— 211.97 Кб (Скачать документ)

Win XP

Windows XP (Whistler) вышел 25 октября 2001 и представляет собой версию Windows NT 5.1. 
Windows XP вышла в двух вариантах Home edition и Professional. Win XP Home edition представляет собой урезанную версию Professional в плане сети. 
 
Выход Win XP ознаменовал переход всех ОС Windows на ядро NT (конец серии Windows9x). 
 
Надёжность 
Многозадачность с вытеснением – допускается одновременная работа нескольких приложений, обеспечивающая в то же время быструю реакцию системы и высокую стабильность ее работы. 
Масштабируемая поддержка памяти и процессора – поддерживается до 4 Гбайт оперативной памяти и до двух симметричных микропроцессоров. 
 
Защита 
Шифрованная файловая система (EFS) с мультипользовательской поддержкой – все файлы шифруются ключом, генерируемым случайным образом. Процессы шифрования и дешифрования прозрачны для пользователя. В операционной системе Windows XP Professional файловая система EFS позволяет иметь доступ к зашифрованному документу сразу нескольким пользователям. 
 
Удобство использования 
Новое оформление – сохранив ядро Win2K, Win XP приобрела обновлённый внешний вид. Адаптация к особенностям работы конкретного пользователя. Появление контекстного меню в Проводнике, в котором указаны действия, выполняемые с файлами того типа, к которому относится выбранный. 
 
Принципиально новые методы работы с удалёнными системами 
Пользователь может организовывать виртуальные сеансы работы на своем настольном компьютере с помощью протокола RDP (Remote Desktop Protocol). 
Защищенное хранение информации о паролях. Позволяет вводить имя и пароль только один раз, затем система будет вводить их автоматически. 
Новая технология отображения текста ClearType позволяет втрое увеличить горизонтальное разрешение текста в программе. 
Обеспечивается безопасный доступ и повышается быстродействие при работе в беспроводных сетях. 
 
Файловая система 
Изменено местоположение структуры данных на физических носителях, отформатированных под NTFS. За счёт этого в среднем на 5-8% повышается производительность. 
На NTFS-разделах доступны переменные размеры кластеров (0,5-4 Кбайт). 
Новая файловая система NTFS позволяет работать с файлами неограниченного размера, что очень удобно для обработки видео. 
 
Следующая версия Windows NT 5.3 выйдет в 2004 году. Это будет Longhorn (длинный гудок).

UNIX

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

  • система написана на языке высокого уровня, благодаря чему ее легко читать, понимать, изменять и переносить на другие машины (первый вариант системы на C имел на 20-40 % больший объем и работал медленнее по сравнению с вариантом на Assembler)
  • наличие довольно простого пользовательского интерфейса, в котором имеется возможность предоставлять все необходимые пользователю услуги
  • наличие элементарных средств, позволяющих создавать сложные программы из более простых
  • наличие иерархической файловой системы, легкой в сопровождении и эффективной в работе
  • очень гибкая в настройке (по сравнению с Windows для рабочих станций и для серверов)
  • обеспечение согласования форматов в файлах, работа с последовательным потоком байтов, благодаря чему облегчается чтение прикладных программ
  • наличие простого, последовательного интерфейса с периферийными устройствами
  • система является многопользовательской, многозадачной; каждый пользователь может одновременно выполнять несколько процессов

Система включает в себя 4 основных компонента: 
 
Ядро 
оно координирует внутренние функции компьютера (такие как размещение системных ресурсов), контролирует доступ к компьютеру, управляет памятью компьютера, обслуживает файловую систему и распределяет ресурсы компьютера среди пользователей. Ядро работает невидимо для пользователя. 
 
Shell 
Shell — это программа, которая позволяет вам связываться с операционной системой. Shell считывает команды, которые вы вводите, и интерпретирует их как запросы на выполнение других программ, на доступ к файлу или обеспечение вывода. Shell также является мощным языком программирования, не похожим на язык программирования C, который обеспечивает условное выполнение и управление потоками данных. 
 
Commands 
Программа — это набор инструкций для компьютера. Программы, которые могут быть выполнены компьютером без предварительной трансляции, называются исполняемыми программами или командами. Как обычному пользователю системы UNIX вам доступно множество стандартных программ и инструментальных средств. Если вы используете систему UNIX для написания программ и развития программного обеспечения, то вы также можете задействовать системные вызовы, подпрограммы и другие инструментальные средства. 
 
Внешний круг системы UNIX образуют программы и инструментальные средства системы, разделенные на категории функционально. Эти функции включают:

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

File system 
Файловая система имеет иерархическую структуру. 
В одном руководстве для начинающих сказано: "Если в Windows у вас были проблемы с восстановлением ошибочно удаленных файлов, то в UNIX (Linux) этих проблем не будет, потому что удаленный в UNIX файл восстановить невозможно". 
Каталоги разделяются символом "/" — а не "\", как в Windows. Что касается имен каталогов и файлов, то UNIX чувствителен к регистру. Так что my_file.txt и My_file.txt для UNIX — разные файлы. 
 
Файл, который является основной единицей системы UNIX, может быть: 
- обыкновенным файлом 
- справочником 
- специальным файлом 
- символическим каналом связи 
 
Обыкновенный файл 
Обыкновенные файлы являются набором символов. Обыкновенные файлы используются для хранения любой информации. Они могут содержать тексты для писем или отчетов, коды программ либо команды для запуска ваших программ. Однажды, создав обыкновенный файл, вы можете добавить нужный материал в него, удалить материал из него, либо удалить файл целиком. 
 
Справочник 
Справочники являются супер-файлами, которые могут содержать файлы или другие справочники. Обычно файлы, содержащиеся в них, устанавливают отношения каким-либо способом. Например, справочник, названный sales может хранить файлы, содержащие цифры ежемесячных продаж, названные Jan, Feb, Mar, и т.д. Вы можете создать каталоги, добавить или удалить файлы из них или удалить каталоги.  
Все справочники, которые вы создаете, будут размещены в вашем собственном справочнике. Этот справочник назначается вам системой во время входа в систему. Никто кроме привилегированных пользователей не может читать или записывать файлы в этот справочник без вашего разрешения, и вы определяете структуру этого справочника.  
Система UNIX также содержит несколько справочников для собственного использования. Структура этих справочников аналогична во всех системах UNIX. Этот справочник, включающий в себя несколько системных справочников, размещается непосредственно под справочником root. Справочник root (обозначенный /) является исходным в файловой структуре UNIX. Все справочники и файлы иерархически располагаются ниже. 
 
Специальные файлы 
Специальные файлы соответствуют физическим устройствам, таким как терминал, дисковое устройство, принтер или канал связи. Система читает из и записывает в специальные файлы также как и в обыкновенные файлы. Однако запросы системы на чтение и запись не приводят в действие нормальный механизм доступа к файлу. Вместо этого они активизируют драйвер устройства, связанный с файлом, приводя, возможно, в действие головки диска или магнитной ленты. 
 
Символические каналы связи 
Символические каналы связи — это файлы, которые указывают на другие файлы (ссылки). 
 
На рисунке изображена архитектура верхнего уровня системы UNIX. Технические средства, показанные в центре диаграммы, выполняют функции, обеспечивающие функционирование операционной системы. Операционная система взаимодействует с аппаратурой непосредственно, обеспечивая обслуживание программ и их независимость от деталей аппаратной конфигурации. Если представить систему состоящей из пластов, в ней можно выделить системное ядро, изолированное от пользовательских программ. Поскольку программы не зависят от аппаратуры, их легко переносить из одной системы UNIX в другую, функционирующую на другом комплексе технических средств, если только в этих программах не подразумевается работа с конкретным оборудованием. Например, программы, рассчитанные на определенный размер машинного слова, гораздо труднее переводить на другие машины по сравнению с программами, не требующими подобных установлений. 
Программы, подобные командному процессору shell и редакторам (ed и vi) и показанные на внешнем по отношению к ядру слое, взаимодействуют с ядром при помощи хорошо определенного набора обращений к операционной системе. Обращения к операционной системе понуждают ядро к выполнению различных операций, которых требует вызывающая программа, и обеспечивают обмен данными между ядром и программой. Некоторые из программ, приведенных на рисунке, в стандартных конфигурациях системы известны как команды, однако на одном уровне с ними могут располагаться и доступные пользователю программы, такие как программа a.out, стандартное имя для исполняемого файла, созданного компилятором языка С. Другие прикладные программы располагаются выше указанных программ, на верхнем уровне, как это показано на рисунке. Например, стандартный компилятор с языка C, cc, располагается на самом внешнем слое: он вызывает препроцессор для C, ассемблер и загрузчик (компоновщик), т.е. отдельные программы предыдущего уровня. Хотя на рисунке приведена двухуровневая иерархия прикладных программ, пользователь может расширить иерархическую структуру на столько уровней, на сколько необходимо. В самом деле, стиль программирования, принятый в системе UNIX, допускает разработку комбинации программ, выполняющих одну и ту же, общую задачу. 
Многие прикладные подсистемы и программы, составляющие верхний уровень системы, такие как командный процессор shell, редакторы, SCCS (система обработки исходных текстов программ) и пакеты программ подготовки документации, постепенно становятся синонимом понятия "система UNIX". Однако все они пользуются услугами программ нижних уровней и в конечном счете ядра с помощью набора обращений к операционной системе. Они имеют несложные параметры, что облегчает их использование, предоставляя при этом большие возможности пользователю. Набор обращений к операционной системе вместе с реализующими их внутренними алгоритмами составляют "тело" ядра. Короче говоря, ядро реализует функции, на которых основывается выполнение всех прикладных программ в системе UNIX, и им же определяются эти функции. Термины "система UNIX", "ядро" или "система", обозначают ядро операционной системы UNIX. 
 
Рассмотрим подробнее основные моменты работы в системе. 
 
Пользователь 
UNIX предназначен для терминальной работы. Чтобы начать работать, юзер должен "войти" в систему, введя со свободного терминала свое учётное имя (account name) и, возможно, пароль (password). Человек, зарегистрированный в учетных файлах системы, и, следовательно, имеющий учетное имя, называется зарегистрированным пользователем системы. Регистрацию новых пользователей обычно выполняет администратор системы. Каждому зарегистрированному пользователю соответствует некоторый каталог файловой системы, который называется "домашним" (home) каталогом пользователя. При входе в систему пользователь получает неограниченный доступ к своему домашнему каталогу и всем каталогам и файлам, содержащимся в нем. Пользователь может создавать, удалять и модифицировать каталоги и файлы, содержащиеся в домашнем каталоге. Потенциально возможен доступ и ко всем другим файлам, однако он может быть ограничен, если пользователь не имеет достаточных привилегий. 
Понятно, что администратор системы, который, естественно, тоже является зарегистрированным пользователем, должен обладать большими возможностями, чем обычные пользователи. В ОС UNIX эта задача решается путем выделения одного значения идентификатора (нулевого). Пользователь с таким идентификатором называется суперпользователем (superuser) или root. Он имеет неограниченные права на доступ к любому файлу и на выполнение любой программы. Кроме того, такой пользователь имеет возможность полного контроля над системой. 
 
Интерфейс пользователя 
Традиционный способ взаимодействия пользователя с системой UNIX основывается на использовании командных языков (правда, в настоящее время все большее распространение получают графические интерфейсы). После входа пользователя в систему для него запускается один из командных интерпретаторов (в зависимости от параметров, сохраняемых в файле /etc/passwd). Обычно в системе поддерживается несколько командных интерпретаторов с похожими, но различающимися своими возможностями командными языками. Общее название для любого командного интерпретатора ОС UNIX – shell (оболочка), поскольку любой интерпретатор представляет внешнее окружение ядра системы.  
Вызванный командный интерпретатор выдает приглашение на ввод пользователем командной строки, которая может содержать простую команду, конвейер команд или последовательность команд. После выполнения очередной командной строки и выдачи на экран терминала или в файл соответствующих результатов, shell снова выдает приглашение на ввод командной строки, и так до тех пор, пока пользователь не завершит свой сеанс работы. 
Командные языки, используемые в ОС UNIX, достаточно просты, чтобы новые пользователи могли быстро начать работать, и достаточно мощны, чтобы можно было использовать их для написания сложных программ. Последняя возможность опирается на механизм командных файлов (shell scripts), которые могут содержать произвольные последовательности командных строк. При указании имени командного файла вместо очередной команды интерпретатор читает файл строка за строкой и последовательно интерпретирует команды. 
 
Программы 
ОС UNIX одновременно является операционной средой использования существующих прикладных программ и средой разработки новых приложений. Новые программы могут писаться на разных языках (Фортран, Паскаль, Модула, Ада и др.). Однако стандартным языком программирования в среде ОС UNIX является язык C (который в последнее время все больше заменяется на C++). Это объясняется тем, что, во-первых, сама система UNIX написана на языке C, а, во-вторых, язык C является одним из наиболее качественно стандартизованных языков. 
Поэтому программы, написанные на языке C, при использовании правильного стиля программирования обладают весьма высоким уровнем мобильности, т.е. их можно достаточно просто переносить на другие аппаратные платформы, работающие как под управлением ОС UNIX, так и под управлением ряда других операционных систем (MS Windows). 
Приведем краткий обзор процесса разработки программы на языке C/C++, которую можно выполнить в среде ОС UNIX. Любая выполняемая программа компонуется из одного или нескольких объектных файлов. Поэтому разработка программы начинается с создания исходных файлов, содержащих текст на языке Си. Эти файлы могут содержать определения глобальных имен переменных и/или функций (имен, которые могут быть видимы из других файлов), а также ссылки на внешние имена (объявленные как глобальные в одном из других файлов, которые будут составлять программу). 
Текстовые файлы производятся с помощью одного из текстовых редакторов, поддерживаемых в среде UNIX. Традиционным текстовым редактором ОС UNIX является упоминавшийся в первом разделе редактор vi. Но есть и многооконный редактор Emacs (позволяет писать программы, компилировать, отлаживать, компоновать и работать с почтой). Emacs в оконной системе X обеспечивает более удобный интерфейс. 
В современных вариантах ОС UNIX все новые инструментальные средства поддерживают оконный графический интерфейс.  
После того, как текстовый файл создан, его нужно откомпилировать для получения объектного файла. Наиболее популярными компиляторами для языка C в среде ОС UNIX сейчас являются pcc (Ритчи и Томпсон) и gcc (Ричард Столлман). Оба эти компилятора являются полностью мобильными и обладают возможностью генерировать код для разнообразных компьютеров. 
 
После того, как необходимый для построения выполняемой программы набор объектных файлов получен, необходимо произвести компоновку выполняемой программы. В ОС UNIX компоновщик выполняемых программ называется редактором связей (link editor) и обычно вызывается командой ld. Редактору связей указывается набор объектных файлов и набор библиотек, из которых нужно черпать недостающие для компоновки программы. 
Процесс компоновки заключается в следующем. Сначала просматривается набор заданных объектных файлов. Для каждого внешнего имени ищется объектный файл, содержащий определение такого же глобального имени. Если поиск заканчивается успешно, то внешняя ссылка заменяется на ссылку на определение глобального имени. Если в конце этого этапа остаются внешние имена, для которых не удалось найти соответствующего определения глобального имени, то начинается поиск объектных файлов с нужными определениями глобальных имен в указанных библиотеках. Если, в конце концов, удается найти определения для всех внешних имен, все соответствующие объектные файлы собираются вместе и образуют выполняемый файл. 
В ОС UNIX имеется несколько стандартных библиотек. В большинстве случаев наиболее важной является библиотека ввода/вывода (stdio). Грамотное использование стандартных библиотек способствует созданию легко переносимых прикладных. 
Выполняемая программа может быть запущена в интерактивном режиме как команда shell или выполнена в отдельном процессе, образуемом уже запущенной программой. 
 
Популярность UNIX в крупных организациях на рабочих станциях и серверах объясняется тем, что при покупке пакета, фирмы платят за гарантию качества и надёжность в работе, за возможную техническую поддержку и за драйвера к устройствам (камень в огород Linux).

IBM OS/2

OS/2 – операционная система  фирмы IBM. Особой популярностью  в качестве домашней ОС никогда  не пользовалась, оставаясь в  тени Windows. OS/2 представляет собой самостоятельную линию развития операционных систем, отличаясь от Windows NT существенно меньшей требовательностью к ресурсам компьютера, а от Linux/UNIX – принципиальной разницей в подходе к разработке и большей схожестью графического интерфейса пользователя с Windows.

1 августа 1984 года IBM выпустила  PC/AT. Параллельно разработке Windows, Microsoft cовместно с IBM приступила к разработке новой операционной системы под эти компьютеры — OS/2. Новая ОС должна была преодолеть ограничение DOS на 640 Кб памяти для прикладных программ и реализовать поддержку режима многозадачности. Предполагалось, что к середине 90-х OS/2 станет доминирующей ОС. С самого начала OS/2 была задумана как многопотоковая ОС с вытесняющей многозадачностью. OS/2 также обеспечивает намного более совершенную защиту памяти, поэтому какая-нибудь прикладная программа, содержащая ошибки, редко выводит из строя всю систему.

Необходимость поддержки DOS стала для разроботчиков одной из самых неприятных помех. Ни одна из проблем не являлась непреодолимой, но их комбинация была убийственной. IBM и Microsoft расплачивались за непродуманные решения, принятые при разработке DOS в 1981 году. К тому же огромная популярность DOS произвела эффект бумеранга – разработчики вынуждены были поддерживать DOS приложения в OS/2, чтобы иметь хоть какие-то шансы на завоевание рынка. В конце концов разработчики OS/2 нашли решение, как исполнять DOS в защищенном режиме, хотя в процессе поиска решения и столкнулись с огромным количеством проблем. Окончательный выход выглядел следующим образом: имелась одна-единственная полноэкранная сессия DOS, которая не могла выполняться в фоновом режиме. Реализация подобного подхода требовала частого переключения между защищенным и реальным режимами (при активной DOS задаче).

В начале 1990-х годов пути двух гигантов IT-индустрии разошлись. Microsoft независимо от IBM начинает разработку Windows 3.0. IBM, независимо от Microsoft, разворачивает работу над облегчённой версией OS/2, которая требовала бы меньше ресурсов, чем OS/2 1.2.

OS/2 1.x

Версия 1.0 появилась в  декабре 1987, она имела текстовый  интерфейс, поддерживала 80286 и 80386 процессоры, жёсткие диски до 32 Мб, но не поддерживала мышь. Взаимодействовала с пользователем  одной запущенной программой, остальные  выполнялись в фоне.

OS/2 1.10 Standard Edition вышла в октябре 1988. Графический интерфейс реализован при помощий Presentation Manager. Диски с системой FAT16 поддерживаются объёмом до 2 Гб. Она обладала намного большими возможностями, чем любая операционная система для персональных компьютеров в то время. Windows и MacOS даже в перспективе не имели того, что было в OS/2 – ни вытесняющей многозадачности, ни многопотоковости, ни виртуальной памяти. Естественно, что системе были присущи и недостатки. Хотя и поддерживалось большинство тогдашних стандартов для вывода графики (CGA, EGA, VGA), но поддержка других была весьма слабая, если вообще существовала. Поддержка принтеров была чисто номинальная – несколько принтеров и плоттеров производства IBM и все. Под OS/2 существовали различные приложения – в том числе такие, как Microsoft Word, Lotus 1-2-3 и QuattroPro. Однако все они были текстовыми, за исключением Microsoft Excel 2.2.

1.20 — ноябрь 1989. Введена поодержка файловой системы HPFS (High Performance File System) более эффективной, чем FAT.

1.30 — 1991, общие улучшения  надёжности и скорости работы  ОС.

OS/2 2.x

Весной 1992 IBM без участия  Microsoft представила OS/2 2.0. ОС стала 32 разрядной, появился буфер обмена, Dynamic Data Exchange (DDE) и новая оболочка рабочего стола Workplace Shell. Workplace Shell — объектно-ориентированный пользовательский интерфейс имеет папки и объекты, предусматривает широкий набор операций drag-and-drop и позволяет создавать псевдонимы (aliases). Использование виртуальных машин DOS позволяет изолировано запускать сразу по несколько DOS или Windows задач. Для запуска Windows программ применяется Win-OS/2 на основе Windows 3.1. Минимальные системные требования: ЦП 80386, 8 Мб ОЗУ.

Через год вышла версия 2.10, в которой видео подсистема тоже стала 32-битной, введена поддержка  шрифтов TrueType и мультимедиа.

В ноябре 1993 вышла версия OS/2 for Windows, что позволило снизить цену конечного продукта (IBM платила лицензионные отчисления Microsoft за использование кода Windows в Win-OS/2). В то время Microsoft проивзодителям PC играми с ценовой политкиой делала невыгодной предустановку ОС отличных от DOS или Windows. Эти действия были признаны незаконными, но IBM, выполняв все OEM-соглашения, уже не могла получить популярности OS/2 на рынке. Тем не менее IBM заключила договоры с Borland, Lotus, Novell, WordPerfect на создание ПО специально для OS/2.

Warp 3

Эта версия в октябре 1994 вышла  под названием «OS/2 Warp for Windows» и устанавливалась поверх Windows 3.1. Позже была выпущена версия, включающая Win-OS/2, лицензированную версию кода Windows 3.x фирмы IBM. Операционной системе были добавлены новые функциональные возможности, призванные сделать OS/2 более привлекательной для индивидуальных пользователей и малых предприятий.

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

OS/2 Warp стала первой из основных операционных систем для ПК, включившей в пакет поставки стандартные средства доступа к Internet и совместимость с протоколами TCP/IP — появилась программа Internet Access Kit, в состав которой входит, помимо системного ПО, браузер Web Explorer, но большинство использовало Netscape. Стала доступна также поддержка FTP и электронной почты.

В комплект поставки входил CD BonusPak с офисным пакетом IBM Works, включающим электронные таблицы, текстовый процессор, СУБД, генератор отчётов и программу построения диаграмм.

Редакция Connect, выпущенная в 1995 году была ориентирована на сетевых пользователей, решающих деловые задачи. OS/2 Warp Connect обеспечивает организацию одноранговых сетей, предоставляя пользователям возможность совместного пользования файлами и каталогами с помощью средств одноранговых или более сложных сетей. OS/2 была отличным коммуникационным инструментом, что вызвало ее буквально взрывное распространение среди участников любительской сети FIDOnet, – Windows физически не могла реализовать устойчивую, надежную и продолжительную работу без перезагрузок, так необходимую, к примеру, для функционирования BBS-сервера в фоновом режиме с одновременным комфортным использованием компьютера как десктопа для других целей.

Информация о работе Операционные системы