
Тема 4. Обзор ос.
4.1. Краткая история эволюции вычислительных систем.
Первый период (1945-1955 гг.)- ламповые машины, нулевой этап эволюции ОС. В Середине 40-х гг. были созданы первые ламповые вычислительные устройства, а также разработан принцип программы, хранимой в памяти машины. В данном этапе программирование осуществлялось исключительно на машинном языке. Об ОС не было и речи. Все задачи организации вычислительного процесса решались вручную программистом с пульта управления. Программа загружалась в память машины в лучшем случае с перфокарт, но обычно с помощью панели. Вычислительная система выполняла одновременно только одну операцию. Отладка программы велась с пульта управления с помощью изучения состояния памяти и регистров машины. В конце этого периода появляется первое системное ПО. В 1951-1952 годах возникают прообразы первых компиляторов символьных языков (Fortran,Algol). В 1954 году появляется ассемблер для процессора IBM-701. В целом же 1 период характеризуется крайне высокой стоимостью ОС, их малым кол-вом и низкой эффективностью.
Второй период (1955-начало 60х гг.)- компьютеры на основе транзисторов и пакетные ОС. Новый период в эволюции вычислительной техники связан с новой технической базой – полупроводниковых элементов. Применение транзисторов вместо электронных ламп повысила надежность компьютера, снизилось потребление ВМ электроэнергии, системы охлаждения стали проще, размеры компьютеров уменьшились, эксплуатация и обслуживание вычислительной техники подешевели. Начали развиваться алгоритмические языки – Algol-58(60),LISP,COBOL,PL-1 и т.д. Появляются первые настоящие компиляторы, редакторы связей, библиотеки служебных и математических подпрограмм. Программирование упрощается. Именно в этот период происходит разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных систем. Для повышения эффективности использования компьютера программные задания с похожими ресурсными запросами начинают собирать вместе, создавая пакет заданий. Появляются первые системы пакетной обработки, которые автоматизируют очередность, и тем самым увеличивают эффективность загрузки процессора. При реализации систем пакетной обработки разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору , какую работу он хочет выполнить на вычислительной машине. Системы пакетной обработки стали первыми системными программами, предназначенными для управления техническими процессами, и послужили прообразом современных ОС.
Третий период (начало 60х-1980 гг.)- компьютеры на основе интегральных микросхем и первые многозадачные ОС. В это время в технической базе произошел переход от отдельных полупроводниковых элементов в виде транзисторов к интегральным микросхемам. Вычислительная техника становится более надежной и дешевой, растет сложность и количество задач, решаемых компьютером. Повышается производительность процессоров. Для хранения кода программы и результатов ее работы вместо перфокарт используют сначала магнитные ленты, а затем магнитные диски. В начале третьего периода появилась идея создания семейств программно- совместимых машин, работающих под управлением одной и той же ОС. Первым таким семейством стала серия IBM/360. В начале операции ввода вывода осуществлялись с использованием других, более простых, отдельно стоящих компьютеров. В дальнейшем они выполняются на том же компьютере. Такой прием получил название spooling – подкачка/откачка данных. Введение данной техники в пакетные системы позволило совместить реальные операции ввода вывода одного задания с выполнением другого задания, что привело к появлению аппарата прерываний для извещения процессора об окончании операций. Появление магнитного диска привело к дальнейшему развитию вычислительных систем. При обработке пакета заданий на магнитной ленте очередность запуска заданий определялась порядком их ввода. При обработке пакета заданий на магнитном диске появляется возможность выбора очередного выполняемого задания. В пакетных системах появляется планирование заданий, т.е. определение очередности заданий на выполнение в зависимости от их требования к ресурсам и срочности. Дальнейшее повышение эффективности было достигнуто с помощью мультипрограммирования. Идея этого принципа в следующем: пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, как это происходило при однопрограммном режиме, а выполняет другую программу. Концепция мультипрограммирования произвела революцию в строении вычислительных систем, преобразив как аппаратную, так и программную части. Логическим продолжением систем мультипрограммирования стали системы разделения времени. В них процессор переключается между задачами не только на время операций ввода-вывода, но и по прошествии определенного интервала времени. Эти переключения происходят так часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, засчет чего создается иллюзия мультизадачной интерактивности. В результате появляется возможность одновременной работы многих пользователей на одной компьютерной системе. В дальнейшем для увеличения количества одновременно работающих пользователей была внедрена идея неполного нахождения исполняемой программы в RAM. Основная часть программы находилась на диске, а необходимый для дальнейшего выполнения фрагмент загружался в RAM. Эта идея реализовалась с помощью механизма виртуальной памяти, основным достоинством которого является иллюзия неограниченной RAM ЭВМ.
Четвертый период (1980-наст.вр.) – персональные компьютеры, классические, сетевые и распределенные системы. Связан с появлением больших интегральных схем. В эти годы происходит высокий рост интеграции микросхем и их удешевление. Компьютер становится доступен простому пользователю и широко используется неспециалистами. Это требует разработки дружественного ПО. В середине 80-х годов бурно развиваются сети компьютеров, в том числе и персональных, работающих под управлением сетевых или распределенных ОС. В сетевых ОС пользователь при необходимости в ресурсах другого компьютера должен знать о его присутствии в сети и уметь задействовать его ресурсы. Каждая машина в сети работает под управлением своей локальной ОС, отличающейся от ОС автономного компьютера наличием дополнительных средств(программной поддержки для сетевых интерфейсных устройств, доступа к удаленным ресурсам). Но эти дополнения существенно не меняют структуру ОС. Распределенные системы, напротив, внешне выглядят как обычные автономные ОС, но внутреннее строение имеет существенное отличие. Пользователь не знает, где хранятся его файлы – на локальной или удаленной машине, не знает, где выполняются его программы, и вообще, подключен ли его компьютер к сети.
4.2. DOS (Disk Operation System).
Первая версия операционной системы для компьютера IBM PC – MS-DOS 1.0 была создана фирмой Microsoft в 1963. В этот период работали на восьмиразрядных компьютерах, в силу чего MS-DOS стала стандартом для 16 разрядных компьютеров. MS-DOS представляла собой комбинацию стилей и особенностей ОС UNIX и CP/M. Последние версии системы включают средства для эффективного использования оперативной памяти сверх 640 кбайт, позволяют работать с логическими дисками более 32 Мб, переносить DOS и драйверы устройств в память, освобождая место в обычной памяти для прикладных программ, и т.д.
Требования:
RAM: 640 кб (4Мб)
CPU: IBM 20286(386)
HDD: 10 Мб
4.3. Windows NT.
98,95,2000,XP,OS/2,MacOS – самостоятельное обучение.
Архитектура Windows NT создавалась с нуля с учетом предъявляемых к современным ОС требованиям. Основные характеристики Windows NT:
1)Сохраняет привычный интерфейс Windows, реализует поддержку существующих файловых систем(FAT32,NTFS,HPFS) и различных приложений, написанных для MS-DOS, OS/2, Windows 3.x.
Включает различные сетевые протоколы.
3)Обладает переносимостью, может работать как на CISC процессорах (80386 и выше), так и на RISC (MIPS R4000, Intel Pentium P54).
4)Обладает масштабированностью, т.е. способно полностью использовать возможности симметричных мультипроцессорных систем с числом процессоров до 32.
5) Имеет эффективную систему безопасности. В ответственных случаях критическим приложениям обеспечивается полностью изолированное окружение.
6)Имеет встроенные широкие сетевые возможности и поддерживает распределенную обработку. Она ориентирована на работу в разнородных сетях благодаря разным транспортным протоколам и использованию средств «клиент-сервер» высокого уровня.
7)Высокая надежность и отказоустойчивость, которая обеспечивается архитектурными особенностями, защищающие прикладные программы от повреждения друг другом и ОС.
Windows NT применяется при организации работы нескольких пользователей на одном компьютере для создания небольшой сети в пределах организации, а также в качестве WEB или FTP сервера
Требования:
RAM: 32 Мб (64)
CPU: IP-166 МГц (200)
HDD: 300 Мб
4.4. UNIX
ОС UNIX- одна из самых популярных ОС в мире. Ее сопровождает и распространяет большое число компаний. Она создавалась как ОС для исследователей, и сначала была передана университетам для образовательных целей, а затем нашла коммерческое применение. Код системы написан на языке С. UNIX позволяет иметь несколько видов оболочек (shell), т.е. взаимодействие между ядром и пользователем.
Особенности UNIX:
1)Реализована многопользовательская защита. Пользователям, которым разрешено входить в систему, перечислены в учетной базе и объединены в группы. Каждому пользователю и каждой группе, присвоены идентификаторы, определяющие права доступа. Вызывая команды, пользователь порождает процессы, которые наследуют его права, а также пользовательский и групповой идентификатор.
2)Кластеризация. Многие UNIX системы позволяют организовывать кластер, т.е. многомашинный вычислительный комплекс. В кластере все ресурсы компьютеров являются разделяемыми и доступными для любого пользователя в соответствии с его правами.
3)Графический интерфейс
UNIX может поддерживать несколько графических интерфейсов. Наиболее распространенными менеджерами являются менеджеры Windows Motif Manager, X Windows System и т.д.
4)Инсталяцция
Процесс инсталляции UNIX достаточно сложен и требует выбора значительного числа параметров. В связи с тем, что UNIX – коммерческая система, и причем достаточно дорогая, она больше подходит для крупных организаций или для больших научных учреждениях. UNIX благодаря отказоустойчивости и защищенности хорошо подходит в качестве сервера в сети Интернет (SMTP, NNTP, FTP, Web-сервера). Благодаря возможности кластеризации выполнение задач реального времени и многопроцессорной обработки, UNIX идеально подходит для организации сложных распределены экспериментов или для решения громоздких вычислительных задач.
4.5. Linux
В начале 90 годов Линус Торвальдс при участии программистов из разных стран разработал ОС Linux. Вначале Linux представляла собой PC-версию UNIX, но в отличие от нее обладала весьма существенным достоинством – сама система и многие приложения были бесплатными. Другими ее достоинствами являлись: наличие инструментария разработки, обширная документация, и полный исходный код, распространяемый по лицензии GNU.
Особенности ОС Linux:
1)Совместимость – ядро Linux изначально создавалась как совместимая с UNIX для архитектуры процессоров Intel 80386 и являлась комбинацией идей BSD, UNIX System 5 , MINIX. Это многопользовательская ОС, совместимая с рядом стандартов на уровне исходных кодов (POSIX, BSD, System 5), Linux – полноценная ОС семейства UNIX,способная работать с широким спектром аппаратного обеспечения, сетевых протоколов и программных сред.
2)Графический интерфейс. Для него разработаны много программ управления окнами, таких как AfterStep,Wfwm,KDE,GNOM
3)Поддерживаемая файловая система. Linux поддерживает разные файловые системы. Некоторые из них (ext2FS) были созданы специально для Linux. Поддерживаются и другие файловые системы, например, MINIX1,Xenix,FAT, позволяющая прямо обращаться к файлам ОС Microsoft на жестком диске.
4)Сетевые возможности. Поддерживает протокол TCP/IP для работы в сети Интернет, весь спектр клиентов и услуг TCP/IP , таких как FTP,N/VTP,TELNET,POP3/
5)В Linux объединены мощь и гибкость станции . Возможность использования полного набора приложения и полнофункциональный графических интерфейс при незначительном требовании к вычислительным ресурсам.
Требования:
ОП : 8Мб
CPU: IBM 80386
HDD – 100 Мб.
6.Дистрибутивы. Существует огромное множество дистрибутивов Linux – SlackWare, Debian, Gentoo. Одним из популярных является дистрибутив Red Hat. Сильными сторонами его является наличие среды управления пакетами – Package manager, и графическая панель управления.
7.Процесс инсталляции.
Процесс инсталляции системы в ранних версиях был достаточно сложен, и требовал самостоятельной компиляции ядра и настройки параметров окружения, однако современные дистрибутивы автоматизируют установку, сводя участие пользователя к минимуму.
Систему Linux можно использовать в любой Интрасети для создания FTP архива, Web узла и многое другое. Она работает в многопользовательском и многозадачном режимах, что обеспечивает высокий уровень защиты при разграничении прав доступа пользователя к ресурсам. Кроме того, эта система хорошо подходит для реализации различных научных экспериментов. При установке дополнительного ПО позволяет выполнять программы реального времени. Благодаря наличию оконных менеджеров и офисных пакетов – AplixWare, Open/Office,Staroffice – работа в Linux удобна и проста. Все это позволяет ей составить конкуренцию семейству Windows NT, и сейчас ее можно рекомендовать не только для серверных приложений, но и в качестве домашней настольной системы.
Windows 7,Vista – самостоятельная.