Реферат Современные операционные системы от компании Microsoft
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
от 25%
договор
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение
Высшего профессионального образования
«ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ УПРАВЛЕНИЯ»
Кафедра управление на транспорте и логистики
Специальность: Менеджмент организации
Форма обучения: Очная
РЕФЕРАТ
по дисциплине «Информатика»
на тему: «Современные операционные системы от компании Microsoft»
Выполнил:
Студент 2 курса 2 группы Алескеров А.Х.
Москва 2010
Содержание
Введение…………………………………………………………………………………………
История возникновения OC…………………………………………………………………..
Архитектура OC………………………………………………………………………………..
Файловые системы…………………………………………………………………………….
Разновидности OC Windows…………………………………………………………………..
Преимущества и недостатки Windows……………………………………………………….
Заключение………………………………………………………………………………………
Список использованной литературы
………………………………………………………..
ВВЕДЕНИЕ
Представьте себе, что вы едете на автомобиле, пытаясь непосредственно руками поворачивать колеса, контролировать состав горючей смеси, поступающей в двигатель, изменить зацепление шестеренок, передающих вращение от двигателя к колесам, омывать и чистить лобовое стекло и совершать прочие действия, необходимые для нормального функционирования автомобиля. Нелегко? Да что там – практически невозможно. Для этих задач придуманы рулевое колесо, карбюратор, рычаг переключения передач, педали и тумблеры управления, точно так же и операционная система (ОС) в компьютере существенно упрощает управление этой «машиной». Правда, персональный компьютер – устройство менее специализированное, позволяющее решать более широкий круг задач, чем автомобиль или телевизор, и в некотором смысле более сложное.
Операционная система предоставляет интерфейсы и для выполняющих приложений, и для пользователей. Программы пользователей, да и многие служебные программы запрашивают у операционной системы выполнение тех операций, которые достаточно часто встречаются практически в любой программе. К таким операциям, прежде всего, относятся операции ввода-вывода, запуск или остановка какой-нибудь программы, получение дополнительного блока памяти или его освобождение и многие другие. Подобные операции невыгодно каждый раз программировать заново и непосредственно размещать в виде двоичного кода в телепрограммы, их удобнее собрать вместе и предоставлять для выполнения по запросу из программ. Это и есть одна из важнейших функций операционных систем. Пользователи также путем ввода команд операционной системы или выбором возможных действий, предлагаемых системой, взаимодействуют с компьютером и своими программами. Такое взаимодействие осуществляется исключительно через операционную систему. Помимо выполнения этой важнейшей функции операционные системы отвечают за эффективное распределение вычислительных ресурсов и организацию надежных вычислений.
ИСТОРИЯ ВОЗНИКНОВЕНИЯ ОС
Возникновение ОС
Идея компьютера была предложена английским математиком Чарльзом Бэбиджем (Charles Babage) в середине девятнадцатого века. Его механическая «аналитическая машина» так и не смогла по-настоящему заработать, потому что технологии того времени не удовлетворяли требованиям, необходимым для изготовления нужных деталей точной механики. Конечно, никакой речи об операционной системе для этого «компьютера» не шло.
Настоящее рождение цифровых вычислительных машин произошло вскоре после окончания Второй мировой войны. В середине 40-х были созданы первые ламповые вычислительные устройства. В то время одна и та же группа людей участвовала и в проектировании, и в эксплуатации, и в программировании вычислительной машины. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно на машинном языке. Не было никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм, которые программист мог использовать для того, чтобы не писать каждый раз коды, вычисляющие значение какой-либо математической функции или управляющие стандартным устройством ввода-вывода. Операционные системы все еще не появились, все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления, который представлял собой примитивное устройство ввода-вывода, состоящее из кнопок, переключателей и индикаторов. С середины 50-х годов начался новый период в развитии вычислительной техники, связанный с появлением новой технической базы — полупроводниковых элементов. Выросло быстродействие процессоров, увеличились объемы оперативной и внешней памяти. Компьютеры стали более надежными, теперь они могли непрерывно работать настолько долго, чтобы на них можно было возложить выполнение действительно практически важных задач.
Наряду с совершенствованием аппаратуры заметный прогресс наблюдался также в области автоматизации программирования и организации вычислительных работ. В эти годы появились первые алгоритмические языки, и таким образом к библиотекам математических и служебных подпрограмм добавился новый тип системного программного обеспечения — трансляторы.
Выполнение каждой программы стало включать большое количество вспомогательных работ: загрузка нужного транслятора (АЛГОЛ, ФОРТРАН, КОБОЛ и т.п.), запуск транслятора и получение результирующей программы в машинных кодах, связывание программы с библиотечными подпрограммами, загрузка программы в оперативную память, запуск программы, вывод результатов на периферийное устройство. Для организации эффективного совместного использования трансляторов, библиотечных программ и загрузчиков в штат многих вычислительных центров были введены должности операторов, профессионально выполнявших работу по организации вычислительного процесса для всех пользователей этого центра.
Но как бы быстро и надежно ни работали операторы, они никак не могли состязаться в производительности с работой устройств компьютера. Большую часть времени процессор простаивал в ожидании, пока оператор запустит очередную задачу. А поскольку процессор представлял собой весьма дорогое устройство, то низкая эффективность его использования означала низкую эффективность использования компьютера в целом. Для решения этой проблемы были разработаны первые системы пакетной обработки, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса. Ранние системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для управления вычислительным процессом.
В ходе реализации систем пакетной обработки был разработан формализованный язык управления заданиями, с помощью которого программист сообщал системе и оператору, какие действия и в какой последовательности он хочет выполнить на вычислительной машине. Типовой набор директив обычно включал признак начала отдельной работы, вызов транслятора, вызов загрузчика, признаки начала и конца исходных данных.
Оператор составлял пакет заданий, которые в дальнейшем без его участия последовательно запускались на выполнение управляющей программой — монитором. Кроме того, монитор был способен самостоятельно обрабатывать наиболее часто встречающиеся при работе пользовательских программ аварийные ситуации, такие как отсутствие исходных данных, переполнение регистров, деление на ноль, обращение к несуществующей области памяти и т.д. Пакет обычно представлял собой набор перфокарт, но для ускорения работы он мог переноситься на более удобный и емкий носитель, например на магнитную ленту или магнитный диск. Сама программа-монитор в первых реализациях также хранилась на перфокартах или перфоленте, а в более поздних — на магнитной ленте и магнитных дисках.
Ранние системы пакетной обработки значительно сократили затраты времени на вспомогательные действия по организации вычислительного процесса, а значит, был сделан еще один шаг по повышению эффективности использования компьютеров. Однако при этом программисты-пользователи лишились непосредственного доступа к компьютеру, что снижало эффективность их работы — внесение любого исправления требовало значительно больше времени, чем при интерактивной работе за пультом машины.
Появление мультипрограммных операционных систем для мейнфреймов
Следующий важный период развития операционных систем относится к 1965-1975 годам.
В это время в технической базе вычислительных машин произошел переход от отдельных полупроводниковых элементов типа транзисторов к интегральным микросхемам, что открыло путь к появлению следующего поколения компьютеров. Большие функциональные возможности интегральных схем сделали возможным реализацию на практике сложных компьютерных архитектур, таких, например, как IBM/360.
В этот период были реализованы практически все основные механизмы, присущие современным ОС: мультипрограммирование, мультипроцессирование, поддержка многотерминального многопользовательского режима, виртуальная память, файловые системы, разграничение доступа и сетевая работа. В эти годы начинается расцвет системного программирования. Из направления прикладной математики, представляющего интерес для узкого круга специалистов, системное программирование превращается в отрасль индустрии, оказывающую непосредственное влияние на практическую деятельность миллионов людей. Революционным событием данного этапа явилась промышленная реализация мультипрограммирования. (Заметим, что в виде концепции и экспериментальных систем этот способ организации вычислений существовал уже около десяти лет.) В условиях резко возросших возможностей компьютера по обработке и хранению данных выполнение только одной программы в каждый момент времени оказалось крайне неэффективным. Решением стало мультипрограммирование — способ организации вычислительного процесса, при котором в памяти компьютера находилось одновременно несколько программ, попеременно выполняющихся на одном процессоре. Эти усовершенствования значительно улучшили эффективность вычислительной системы: компьютер теперь мог использоваться почти постоянно, а не менее половины времени работы компьютера, как это было раньше.
Мультипрограммирование было реализовано в двух вариантах — в системах пакетной обработки и разделения времени.
Мультипрограммные системы пакетной обработки так же, как и их однопрограммные предшественники, имели своей целью обеспечение максимальной загрузки аппаратуры компьютера, однако решали эту задачу более эффективно. В мультипрограммном пакетном режиме процессор не простаивал, пока одна программа выполняла операцию ввода-вывода (как это происходило при последовательном выполнении программ в системах ранней пакетной обработки), а переключался на другую готовую к выполнению программу. В результате достигалась сбалансированная загрузка всех устройств компьютера, а следовательно, увеличивалось число задач, решаемых в единицу времени. В мультипрограммных системах пакетной обработки пользователь по-прежнему был лишен возможности интерактивно взаимодействовать со своими программами. Для того чтобы хотя бы частично вернуть пользователям ощущение непосредственного взаимодействия с компьютером, был разработан другой вариант мультипрограммных систем — системы разделения времени. Этот вариант рассчитан на многотерминальные системы, когда каждый пользователь работает за своим терминалом. В числе первых операционных систем разделения времени, разработанных в середине 60-х годов, были TSS/360 (компания IBM), CTSS и MULTICS (Массачусетский технологический институт совместно с Bell Labs и компанией General Electric). Вариант мультипрограммирования, применяемый в системах разделения времени, был нацелен на создание для каждого отдельного пользователя иллюзии единоличного владения вычислительной машиной за счет периодического выделения каждой программе своей доли процессорного времени. В системах разделения времени эффективность использования оборудования ниже, чем в системах пакетной обработки, что явилось платой за удобства работы пользователя.
Многотерминальный режим использовался не только в системах разделения времени, но и в системах пакетной обработки. При этом не только оператор, но и все пользователи получали возможность формировать свои задания и управлять их выполнением со своего терминала. Такие операционные системы получили название систем удаленного ввода заданий. Терминальные комплексы могли располагаться на большом расстоянии от процессорных стоек, соединяясь с ними с помощью различных глобальных связей — модемных соединений телефонных сетей или выделенных каналов. Для поддержания удаленной работы терминалов в операционных системах появились специальные программные модули, реализующие различные (в то время, как правило, нестандартные) протоколы связи, Такие вычислительные системы с удаленными терминалами, сохраняя централизованный характер обработки данных, в какой-то степени являлись прообразом современных сетей, а соответствующее системное программное обеспечение — прообразом сетевых операционных систем.
К этому времени можно констатировать существенное изменение в распределении функций между аппаратными и программными средствами компьютера. Операционные системы становились неотъемлемыми элементами компьютеров, играя роль «продолжения» аппаратуры. В первых вычислительных машинах программист, напрямую взаимодействуя с аппаратурой, мог выполнить загрузку программных кодов, используя пультовые переключатели и лампочки индикаторов, а затем вручную запустить программу на выполнение, нажав кнопку «пуск». В компьютерах 60-х годов большую часть действий по организации вычислительного процесса взяла на себя операционная система. В большинстве современных компьютеров не предусмотрено даже теоретической возможности выполнения какой-либо вычислительной работы без участия операционной системы. После включения питания автоматически происходит поиск, загрузка и запуск операционной системы, а в случае ее отсутствия компьютер просто останавливается.
Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера, непосредственно направленных на поддержку нового способа организации вычислительного процесса. При разделении ресурсов компьютера между программами необходимо обеспечить быстрое переключение процессора с одной программы на другую, а также надежно защитить коды и данные одной программы от непреднамеренной или преднамеренной порчи другой программой. В процессорах появился привилегированный и пользовательский режимы работы, специальные регистры для быстрого переключения с одной программы на другую, средства защиты областей памяти, а также развитая система прерываний.
В привилегированном режиме, предназначенном для работы программных модулей операционной системы, процессор мог выполнять все команды, в том числе и те из них, которые позволяли осуществлять распределение и защиту ресурсов компьютера. Программам, работающим в пользовательском режиме, некоторые команды процессора были недоступны. Таким образом, только ОС могла управлять аппаратными средствами и исполнять роль монитора и арбитра для пользовательских программ, которые выполнялись в непривилегированном, пользовательском режиме.
Система прерываний позволяла синхронизировать работу различных устройств компьютера, работающих параллельно и асинхронно, таких как каналы ввода-вывода, диски, принтеры и т.п. Аппаратная поддержка операционных систем стала с тех пор неотъемлемым свойством практически любых компьютерных систем, включая персональные компьютеры.
Еще одной важной тенденцией этого периода является создание семейств программно-совместимых машин и операционных систем для них. Примерами семейств программно-совместимых машин, построенных на интегральных микросхемах, являются серии машин IBM/360 и IBM/370 (аналоги этих семейств советского производства — машины серии ЕС), PDP-11 (советские аналоги — CM-3, CM-4, CM-1420). Вскоре идея программно-совместимых машин стала общепризнанной.
Программная совместимость требовала и совместимости операционных систем. Однако такая совместимость подразумевает возможность работы на больших и на малых вычислительных системах, с большим и с малым количеством разнообразной периферии, в коммерческой области и в области научных исследований. Операционные системы, построенные с намерением удовлетворить всем этим противоречивым требованиям, оказались чрезвычайно сложными. Они состояли из многих миллионов ассемблерных строк, написанных тысячами программистов, и содержали тысячи ошибок, вызывающих нескончаемый поток исправлений. Операционные системы этого поколения были очень дорогими. Так, разработка OS/360, объем кода для которой составил 8 Мбайт, стоила компании IBM 80 миллионов долларов.
Однако, несмотря на необозримые размеры и множество проблем, OS/360 и другие ей подобные операционные системы этого поколения действительно удовлетворяли большинству требований потребителей. За это десятилетие был сделан огромный шаг вперед и заложен прочный фундамент для создания современных операционных систем.
Развитие операционных систем в 80-е годы
К наиболее важным событиям этого десятилетия можно отнести разработку стека TCP/IP, становление Интернета, стандартизацию технологий локальных сетей, появление персональных компьютеров и операционных систем для них.
Рабочий вариант стека протоколов TCP/IP был создан в конце 70-х годов. Этот стек представлял собой набор общих протоколов для разнородной вычислительной среды и предназначался для связи экспериментальной сети ARPANET с другими «сателлитными» сетями. В 1983 году стек протоколов TCP/IP был принят Министерством обороны США в качестве военного стандарта. Переход компьютеров сети ARPANET на стек TCP/IP ускорила его реализация для операционной системы BSD UNIX. С этого времени началось совместное существование UNIX и протоколов TCP/IP, а практически все многочисленные версии Unix стали сетевыми.
Внедрение протоколов TCP/IP в ARPANET придало этой сети все основные черты, которые отличают современный Интернет. В 1983 году сеть ARPANET была разделена на две части: MILNET, поддерживающую военные ведомства США, и новую ARPANET. Для обозначения составной сети ARPANET и MILNET стало использоваться название Internet, которое в русском языке со временем (и с легкой руки локализаторов Microsoft) превратилось в Интернет. Интернет стал отличным полигоном для испытаний многих сетевых операционных систем, позволившим проверить в реальных условиях возможности их взаимодействия, степень масштабируемости, способность работы при экстремальной нагрузке, создаваемой сотнями и тысячами пользователей. Стек протоколов TCP/IP также ждала завидная судьба. Независимость от производителей, гибкость и эффективность, доказанные успешной работой в Интернете, а также открытость и доступность стандартов сделали протоколы TCP/IP не только главным транспортным механизмом Интернета, но и основным стеком большинства сетевых операционных систем.
Все десятилетие было отмечено постоянным появлением новых, все более совершенных версий ОС UNIX. Среди них были и фирменные версии UNIX: SunOS, HP-UX, Irix, AIX и многие другие, в которых производители компьютеров адаптировали код ядра и системных утилит для своей аппаратуры. Разнообразие версий породило проблему их совместимости, которую периодически пытались решить различные организации. В результате были приняты стандарты POSIX и XPG, определяющие интерфейсы ОС для приложений, а специальное подразделение компании AT&T выпустило несколько версий UNIX System III и UNIX System V, призванных консолидировать разработчиков на уровне кода ядра.
Начало 80-х годов связано с еще одним знаменательным для истории операционных систем событием — появлением персональных компьютеров. С точки зрения архитектуры персональные компьютеры ничем не отличались от класса мини-компьютеров типа PDP-11, но их стоимость была существенно ниже. Если мини-компьютер позволил иметь собственную вычислительную машину отделу предприятия или университету, то персональный компьютер дал такую возможность отдельному человеку. Компьютеры стали широко использоваться неспециалистами, что потребовало разработки «дружественного» программного обеспечения, и предоставление этих «дружественных» функций стало прямой обязанностью операционных систем. Персональные компьютеры послужили также мощным катализатором для бурного роста локальных сетей, создав для этого отличную материальную основу в виде десятков и сотен компьютеров, принадлежащих одному предприятию и расположенных в пределах одного здания. В результате поддержка сетевых функций стала для ОС персональных компьютеров необходимым условием.
Однако и дружественный интерфейс, и сетевые функции появились у операционных систем персональных компьютеров не сразу. Первая версия наиболее популярной операционной системы раннего этапа развития персональных компьютеров — MS-DOS компании Microsoft — была лишена этих возможностей. Это была однопрограммная однопользовательская ОС с интерфейсом командной строки, способная стартовать с дискеты. Основными задачами для нее были управление файлами, расположенными на гибких и жестких дисках в UNIX-подобной иерархической файловой системе, а также поочередный запуск программ. MS-DOS не была защищена от программ пользователя, так как процессор Intel 8088 не поддерживал привилегированного режима. Разработчики первых персональных компьютеров считали, что при индивидуальном использовании компьютера и ограниченных возможностях аппаратуры нет смысла в поддержке мультипрограммирования, поэтому в процессоре не были предусмотрены привилегированный режим и другие механизмы поддержки мультипрограммных систем.
Недостающие функции для MS-DOS и подобных ей ОС компенсировались внешними программами, предоставлявшими пользователю удобный графический интерфейс (например, Norton Commander) или средства тонкого управления дисками (например, PC Tools). Наибольшее влияние на развитие программного обеспечения для персональных компьютеров оказала операционная среда Windows компании Microsoft, представлявшая собой надстройку над MS-DOS.
Сетевые функции также реализовывались в основном сетевыми оболочками, работавшими поверх ОС. При сетевой работе всегда необходимо поддерживать многопользовательский режим, при котором один пользователь — интерактивный, а остальные получают доступ к ресурсам компьютера по сети. В таком случае от операционной системы требуется хотя бы некоторый минимум функциональной поддержки многопользовательского режима. История сетевых средств MS-DOS началась с версии 3.1. Эта версия MS-DOS добавила к файловой системе необходимые средства блокировки файлов и записей, которые позволили более чем одному пользователю иметь доступ к файлу. Пользуясь этими функциями, сетевые оболочки могли обеспечить разделение файлов между сетевыми пользователями.
Вместе с выпуском версии MS-DOS 3.1 в 1984 году компания Microsoft также выпустила продукт, называемый Microsoft Networks, который обычно неформально называют MS-NET. Некоторые концепции, заложенные в MS-NET, такие как введение в структуру базовых сетевых компонентов — редиректора и сетевого сервера, успешно перешли в более поздние сетевые продукты Microsoft: LAN Manager, Windows for Workgroups, а затем и в Windows NT.
Сетевые оболочки для персональных компьютеров выпускали и другие компании: IBM, Artisoft, Performance Technology и другие.
Иной путь выбрала компания Novell. Она изначально сделала ставку на разработку операционной системы со встроенными сетевыми функциями и добилась на этом пути выдающихся успехов. Ее сетевые операционные системы NetWare на долгое время стали эталоном производительности, надежности и защищенности для локальных сетей.
Первая сетевая операционная система компании Novell появилась на рынке в 1983 году и называлась OS-Net. Эта ОС предназначалась для сетей, имевших звездообразную топологию, центральным элементом которых был специализированный компьютер на базе микропроцессора Motorola 68000. Немного позже, когда фирма IBM выпустила персональные компьютеры PC XT, компания Novell разработала новый продукт — NetWare 86, рассчитанный на архитектуру микропроцессоров семейства Intel 8088.
С самой первой версии ОС NetWare распространялась как операционная система для центрального сервера локальной сети, которая за счет специализации на выполнении функций файл-сервера обеспечивает максимально возможную для данного класса компьютеров скорость удаленного доступа к файлам и повышенную безопасность данных. За высокую производительность, пользователи сетей Novell NetWare расплачиваются стоимостью — выделенный файл-сервер не может использоваться в качестве рабочей станции, а его специализированная ОС имеет весьма специфический прикладной программный интерфейс (API), что требует от разработчиков приложений особых знаний, специального опыта и значительных усилий.
В отличие от Novell большинство других компаний развивали сетевые средства для персональных компьютеров в рамках операционных систем с универсальным интерфейсом API, то есть операционных систем общего назначения. Такие системы по мере развития аппаратных платформ персональных компьютеров стали все больше приобретать черты операционных систем мини-компьютеров.
В 1987 году в результате совместных усилий Microsoft и IBM появилась первая многозадачная операционная система для персональных компьютеров с процессором Intel 80286, в полной мере использующая возможности защищенного режима — OS/2. Эта система была хорошо продуманна. Она поддерживала вытесняющую многозадачность, виртуальную память, графический пользовательский интерфейс (не с первой версии) и виртуальную машину для выполнения DOS-приложений. Фактически она выходила за пределы простой многозадачности с ее концепцией распараллеливания отдельных процессов, получившей название многопоточности.
OS/2 с ее развитыми функциями многозадачности и файловой системой HPFS со встроенными средствами многопользовательской защиты оказалась хорошей платформой для построения локальных сетей персональных компьютеров. Наибольшее распространение получили сетевые оболочки LAN Manager компании Microsoft и LAN Server компании IBM, разработанные этими компаниями на основе одного базового кода. Эти оболочки уступали по производительности файловому серверу NetWare и потребляли больше аппаратных ресурсов, но имели важные достоинства — они позволяли, во-первых, выполнять на сервере любые программы, разработанные для OS/2, MS-DOS и Windows, а во-вторых, использовать компьютер, на котором они работали, в качестве рабочей станции.
Сетевые разработки компаний Microsoft и IBM привели к появлению NetBIOS — очень популярного транспортного протокола и одновременно интерфейса прикладного программирования для локальных сетей, получившего применение практически во всех сетевых операционных системах для персональных компьютеров. Этот протокол и сегодня применяется для создания небольших локальных сетей.
Не очень удачная рыночная судьба OS/2 не позволила системам LAN Manager и LAN Server захватить заметную долю рынка, но принципы работы этих сетевых систем во многом нашли свое воплощение в более удачливой операционной системе 90-х годов — Microsoft Windows NT, содержащей встроенные сетевые компоненты, некоторые из которых имеют приставку LM — от LAN Manager.
В 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость сетевых операционных систем на нижних уровнях, а также стандартизовать интерфейс ОС с драйверами сетевых адаптеров.
Для персональных компьютеров применялись не только специально разработанные для них операционные системы, подобные MS-DOS, NetWare и OS/2, но и адаптировались уже существующие ОС. Появление процессоров Intel 80286 и особенно 80386 с поддержкой мультипрограммирования позволило перенести на платформу персональных компьютеров ОС UNIX. Наиболее известной системой этого типа была версия UNIX компании Santa Cruz Operation (SCO UNIX).
АРХИТЕКТУРА ОС
Ядро и вспомогательные модули ОС
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
ядро — модули, выполняющие основные функции ОС;
модули, выполняющие вспомогательные функции ОС.
В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т.д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.
Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.
Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Остальные модули ОС выполняют весьма полезные, но менее обязательные функции. Например, к таким вспомогательным модулям могут быть отнесены программы архивирования данных на магнитной ленте, дефрагментации диска, текстового редактора. Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур.
Поскольку некоторые компоненты ОС оформлены как обычные приложения, то есть в виде исполняемых модулей стандартного для данной ОС формата, то часто бывает очень сложно провести четкую грань между операционной системой и приложениями (рис.1).
Рис.1
. Нечеткость границы между ОС и приложениями
Ядро в привилегированном режиме
Для надежного управления ходом выполнения приложений операционная система должна иметь по отношению к приложениям определенные привилегии. Иначе некорректно работающее приложение может вмешаться в работу ОС и, например, разрушить часть ее кодов. Все усилия разработчиков операционной системы окажутся напрасными, если их решения воплощены в незащищенные от приложений модули системы, какими бы элегантными и эффективными эти решения ни были. Операционная система должна обладать исключительными полномочиями также для того, чтобы играть роль арбитра в споре приложений за ресурсы компьютера в мультипрограммном режиме. Ни одно приложение не должно иметь возможности без ведома ОС получать дополнительную область памяти, занимать процессор дольше разрешенного операционной системой периода времени, непосредственно управлять совместно используемыми внешними устройствами.
Обеспечить привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два режима работы — пользовательский режим (user mode) и привилегированный режим, который также называют режимом ядра (kernel mode), или режимом супервизора (supervisor mode). Подразумевается, что операционная система или некоторые ее части работают в привилегированном режиме, а приложения — в пользовательском режиме.
Так как ядро выполняет все основные функции ОС, то чаще всего именно ядро становится той частью ОС, которая работает в привилегированном режиме (рис.2). Иногда это свойство — работа в привилегированном режиме — служит основным определением понятия «ядро».
Рис. 2.
Архитектура операционной системы с ядром в привилегированном режиме
Многослойная структура ОС
Вычислительную систему, работающую под управлением ОС на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев: нижний слой образует аппаратура, промежуточный — ядро, а утилиты, обрабатывающие программы и приложения, составляют верхний слой системы. Слоистую структуру вычислительной системы принято изображать в виде системы концентрических окружностей, иллюстрируя тот факт, что каждый слой может взаимодействовать только со смежными слоями. Действительно, при такой организации ОС приложения не могут непосредственно взаимодействовать с аппаратурой, а только через слой ядра.
Многослойный подход является универсальным и эффективным способом декомпозиции сложных систем любого типа, в том числе и программных. В соответствии с этим подходом система состоит из иерархии слоев. Каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций, которые образуют межслойный интерфейс (рис.3). На основе функций нижележащего слоя следующий (вверх по иерархии) слой строит свои функции — более сложные и более мощные, которые, в свою очередь, оказываются примитивами для создания еще более мощных функций вышележащего слоя. Строгие правила касаются только взаимодействия между слоями системы, а между модулями внутри слоя связи могут быть произвольными. Отдельный модуль может выполнить свою работу либо самостоятельно, либо обратиться к другому модулю своего слоя, либо обратиться за помощью к нижележащему слою через межслойный интерфейс.
Ядро может состоять из следующих слоев:
Рис.3
Слои операционной системы
Микроядерная архитектура
Микроядерная архитектура является альтернативой классическому способу построения операционной системы. Под классической архитектурой в данном случае понимается рассмотренная выше структурная организация ОС, в соответствии с которой все основные функции операционной системы, составляющие многослойное ядро, выполняются в привилегированном режиме. При этом некоторые вспомогательные функции ОС оформляются в виде приложений и выполняются в пользовательском режиме наряду с обычными пользовательскими программами (становясь системными утилитами или обрабатывающими программами).
Суть микроядерной архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром (рис.4). Микроядро защищено от остальных частей ОС и приложений. В состав микроядра обычно входят машинно-зависимые модули, а также модули, выполняющие базовые (но не все!) функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, пересылке сообщений и управлению устройствами ввода-вывода, связанные с загрузкой или чтением регистров устройств. Набор функций микроядра обычно соответствует функциям слоя базовых механизмов обычного ядра. Такие функции операционной системы трудно, если не невозможно, выполнить в пространстве пользователя.
Рис.4
Перенос основного объема функций ядра в пользовательское пространство
Все остальные более высокоуровневые функции ядра оформляются в виде приложений, работающих в пользовательском режиме. Однозначного решения о том, какие из системных функций нужно оставить в привилегированном режиме, а какие перенести в пользовательский, не существует. В общем случае многие менеджеры ресурсов, являющиеся неотъемлемыми частями обычного ядра — файловая система, подсистемы управления виртуальной памятью и процессами, менеджер безопасности и т.п., — становятся «периферийными» модулями, работающими в пользовательском режиме.
Работающие в пользовательском режиме менеджеры ресурсов имеют принципиальные отличия от традиционных утилит и обрабатывающих программ операционной системы, хотя при микроядерной архитектуре все эти программные компоненты также оформлены в виде приложений. Утилиты и обрабатывающие программы вызываются в основном пользователями. Ситуации, когда одному приложению требуется выполнение функции (процедуры) другого приложения, возникают крайне редко. Поэтому в операционных системах с классической архитектурой отсутствует механизм, с помощью которого одно приложение могло бы вызвать функции другого.
Операционные системы, основанные на концепции микроядра, в высокой степени удовлетворяют большинству требований, предъявляемых к современным ОС, обладая переносимостью, расширяемостью, надежностью и создавая хорошие предпосылки для поддержки распределенных приложений. За эти достоинства приходится платить снижением производительности, и это является основным недостатком микроядерной архитектуры.
Файловые системы
Система управления файлами является основной в абсолютном большинстве современных операционных систем. Например, операционные системы Unix никак не могут функционировать без файловой системы, ибо понятие файла для них является одним из самых фундаментальных. Все современные операционные системы используют файлы и соответствующее программное обеспечение для работы с ними. Дело в том что, во-первых, через файловую систему связываются по данным многие системные обрабатывающие программы. Во-вторых, с помощью этой системы решаются проблемы централизованного распределения дискового пространства и управления данными. Наконец, пользователи получают более простые способы доступа к своим данным, которые они размещают на устройствах внешней памяти.
Файловая система (ФС) является важной частью любой операционной системы, которая отвечает за организацию хранения и доступа к информации на каких-либо носителях. Рассмотрим в качестве примера файловые системы для наиболее распространенных в наше время носителей информации – магнитных дисков. Как известно, информация на жестком диске хранится в секторах (обычно 512 байт) и само устройство может выполнять лишь команды считать/записать информацию в определенный сектор на диске. В отличие от этого файловая система позволяет пользователю оперировать с более удобным для него понятием - файл. Файловая система берет на себя организацию взаимодействия программ с файлами, расположенными на дисках. Для идентификации файлов используются имена. Современные файловые системы предоставляют пользователям возможность давать файлам достаточно длинные мнемонические названия.
Рассмотрим более подробно структуру жесткого диска. Базовой единицей жесткого диска является раздел, создаваемый во время разметки жесткого диска. Каждый раздел содержит один том, обслуживаемый какой-либо файловой системой и имеющий таблицу оглавления файлов - корневой каталог. Некоторые операционные системы поддерживают создание томов, охватывающих несколько разделов. Жесткий диск может содержать до четырех основных разделов. Это ограничение связано с характером организации данных на жестких дисках IBM-совместимых компьютеров. Многие операционные системы позволяют создавать, так называемый, расширенный (extended) раздел, который по аналогии с разделами может разбиваться на несколько логических дисков.
В первом физическом секторе жесткого диска располагается головная запись загрузки и таблица разделов (табл. 1). Головная запись загрузки (master boot record, MBR) - первая часть данных на жестком диске. Она зарезервирована для программы начальной загрузки BIOS (ROM Bootstrap routine), которая при загрузке с жесткого диска считывает и загружает в память первый физический сектор на активном разделе диска, называемый загрузочным сектором (Boot Sector). Каждая запись в таблице разделов (partition table) содержит начальную позицию и размер раздела на жестком диске, а также информацию о том, первый сектор какого раздела содержит загрузочный сектор.
1) Файловая система FAT (File Allocation Table) была разработана Биллом Гейтсом и Марком МакДональдом в 1977 году и первоначально использовалась в операционной системе 86-DOS. Чтобы добиться переносимости программ из операционной системы CP/M в 86-DOS, в ней были сохранены ранее принятые ограничения на имена файлов. В дальнейшем 86-DOS была приобретена Microsoft и стала основой для ОС MS-DOS 1.0, выпущенной в августе 1981 года. FAT была предназначена для работы с гибкими дисками размером менее 1 Мбайта, и вначале не предусматривала поддержки жестких дисков. В настоящее время FAT поддерживает файлы и разделы размеров до 2 Гбайт.
В FAT применяются следующие соглашения по именам файлов:
имя должно начинаться с буквы или цифры и может содержать любой символ ASCII, за исключением пробела и символов "/\[]:;|=,^*?.
длина имени не превышает 8 символов, за ним следует точка и необязательное расширение длиной до 3 символов.
регистр символов в именах файлов не различается и не сохраняется.
2) Высокопроизводительная файловая система HPFS (High Performance File System) была представлена фирмой IBM в 1989 году вместе с операционной системой OS/2 1.20. Файловая система HPFS также поддерживалась ОС Windows NT до версии 3.51 включительно. По производительности эта ФС существенно опережает FAT. HPFS позволяет использовать жесткие диски объемом до 2 Терабайт (первоначально до 4 Гбайт). Кроме того, она поддерживает разделы диска размером до 512 Гб и позволяет использовать имена файлов длиной до 255 символов (на каждый символ при этом отводится 2 байта). В HPFS по сравнению с FAT уменьшено время доступа к файлам в больших каталогах.
HPFS распределяет пространство на диске не кластерами как в FAT, а физическими секторами по 512 байт, что не позволяет ее использовать на жестких дисках, имеющих другой размер сектора. Эти секторы принято называть блоками. Чтобы уменьшить фрагментацию диска, при распределении пространства под файл HPFS стремится, по возможности, размещать файлы в последовательных смежных секторах. Фрагмент файла, располагающийся в смежных секторах, называется экстентом.
3) В настоящее время появляются новые поколения жестких дисков, имеющие все большие объемы дискового пространства, в то время как возможности FAT уже достигли своего предела (FAT может поддерживать разделы размером до 2 Гб).
FAT32 - усовершенствованная версия файловой системы VFAT, поддерживающая жесткие диски объемом до 2 терабайт. Впервые файловая система FAT32 была включена в состав ОС Windows 95 OSR 2. В FAT32 были расширены атрибуты файлов, позволяющие теперь хранить время и дату создания, модификации и последнего доступа к файлу или каталогу.
В данный момент FAT32 поддерживается в следующих ОС: Windows 95 OSR2, Windows 98, Windows ME, Windows 2000 и Windows XP.
4) NTFS (New Technology File System) - наиболее предпочтительная файловая система при работе с ОС Windows NT (Windows 2000 и XP также являются NT системами), поскольку она была специально разработана для данной системы. В состав Windows NT входит утилита convert, осуществляющая конвертирование томов с FAT и HPFS в тома NTFS. В NTFS значительно расширены возможности по управлению доступом к отдельным файлам и каталогам, введено большое число атрибутов, реализована отказоустойчивость, средства динамического сжатия файлов, поддержка требований стандарта POSIX. NTFS позволяет использовать имена файлов длиной до 255 символов, при этом она использует тот же алгоритм для генерации короткого имени, что и VFAT. NTFS обладает возможностью самостоятельного восстановления в случае сбоя ОС или оборудования, так что дисковый том остается доступным, а структура каталогов не нарушается.
Обычно все версии Windows делят на несколько «групп»:
Графические интерфейсы и расширения для DOS
Эти версии Windows не были полноценными операционными системами, а являлись надстройками к операционной системеMS-DOS и были по сути многофункциональным расширением, добавляя поддержку новых режимов работы процессора, поддержку многозадачности, обеспечивая стандартизацию интерфейсов аппаратного обеспечения и единообразие дляпользовательских интерфейсов программ. Предоставляли встроенные средства (GDI) для создания графического интерфейса пользователя. Они работали с процессорами начиная с Intel 8086.
Windows 1.0 (1985)
Windows 2.0 (1987)
Windows 2.1 (Windows 386) (1987) — в системе появилась возможность запуска DOS-приложений в графических окнах, причём каждому приложению предоставлялись полные 640 Кб памяти. Полная поддержка процессора 80286. Появилась поддержка процессоров 80386.
Windows 3.0 (1990) — улучшена поддержка процессоров 80386 и защищённого режима.
Windows 3.1 (1992) — серьёзно переработанная Windows 3.0; устранены UAE (Unrecoverable Application Errors — фатальные ошибки прикладных программ), добавлен механизм OLE, печать в режиме WYSIWYG («что видите, то и получите»), шрифты TrueType, изменён Проводник (диспетчер файлов), добавлены мультимедийные функции.
Windows для рабочих групп (Windows for Workgroups) 3.1/3.11 — первая версия ОС семейства с поддержкой локальных сетей. В WFWG 3.11 также испытывались отдельные усовершенствования ядра, применённые позднее в Windows 95.
Семейство Windows 9x
Включает в себя Windows 95, Windows 98 и Windows Me.
Windows 95 была выпущена в 1995 году. Её отличительными особенностями являются новый пользовательский интерфейс, поддержка длинных имён файлов, автоматическое определение и конфигурация периферийных устройств Plug and Play, и способность исполнять 32-битные приложения. Windows 95 использует вытесняющую многозадачность и выполняет каждое 32-битное приложение в своём адресном пространстве.
Операционные системы этого семейства не являлись безопасными многопользовательскими системами как Windows NT, поскольку строгое разделение исполняющихся приложений не было реализовано в ядре. Программный интерфейс был подмножеством Win32 API поддерживаемым Windows NT, но имел поддержку юникода в очень ограниченном объёме[6]. Также в нём не было должного обеспечения безопасности.
В составе Windows 95 присутствовал MS-DOS 7.0, однако его роль сводилась к обеспечению процесса загрузки и исполнению 16-битных DOS приложений.
Семейство Windows NT
Текстовый логотип Windows® XP (обычно используется вместе с графическим)
Операционные системы этого семейства в настоящее время работают на процессорах с архитектурами x86, x64, и Itanium. Ранние версии (до 4.0 включительно) также поддерживали некоторые RISC-процессоры: Alpha, MIPS, и Power PC. Все операционные системы этого семейства являются полностью 32-битными операционными системами, и не нуждаются в MS-DOS даже для загрузки.
Только в этом семействе представлены операционные системы для серверов. До версии Windows 2000 включительно они выпускались под тем же названием что и аналогичная версия для рабочих станций, но с добавлением суффикса, например «Windows NT 4.0 Server» и «Windows 2000 Datacenter Server». Начиная с Windows Server 2003, серверные операционные системы называются по-другому.
Windows NT 3.1 (1993)
Windows NT 3.5 (1994)
Windows NT 3.51 (1995)
Windows NT 4.0 (1996)
Windows 2000 (2000) — Windows NT 5.0
Windows XP (2001) — Windows NT 5.1
Windows XP 64-bit Edition (2006) — Windows NT 5.2
Windows Server 2003 (2003) — Windows NT 5.2
Windows Vista (2006) — Windows NT 6.0
Windows Home Server (2007) — Windows NT 5.2
Windows Server 2008 (2008) — Windows NT 6.0
Windows Small Business Server (2008) — Windows NT 6.0
Windows 7 — Windows NT 6.1 (2009)
Windows Server 2008 R2 — Windows NT 6.1 (2009)
В основу семейства Windows NT положено разделение адресных пространств между процессами. Каждый процесс имеет возможность работать с выделенной ему памятью. Однако он не имеет прав для записи в память других процессов, драйверов и системного кода.
Семейство Windows NT относится к операционным системам с вытесняющей многозадачностью. Разделение процессорного времени между потоками происходит по принципу «карусели». Ядро операционной системы выделяет квантвремени (в Windows 2000 квант равен примерно 20 мс) каждому из потоков по очереди при условии, что все потоки имеют одинаковый приоритет. Поток может отказаться от выделенного ему кванта времени. В этом случае система перехватывает у него управление (даже если выделенный квант времени не закончен) и передаёт управление другому потоку. При передаче управления другому потоку система сохраняет состояние всех регистров процессора в особой структуре в оперативной памяти. Эта структура называется контекстом потока. Сохранение контекста потока достаточно для последующего возобновления его работы.
Интегрированные программные продукты
Пакет Microsoft Windows включает в себя стандартные приложения, такие как браузер (Internet Explorer), почтовый клиент (Outlook Express или Windows Mail), музыкальный и видео проигрыватель (Windows Media Player). С помощью технологий COM и OLE их компоненты могут быть использованы в приложениях сторонних производителей. Эти продукты бесплатны, и могут быть свободно скачаны с официального сайта Microsoft, однако для установки некоторых из них необходимо иметь лицензионную версию Microsoft Windows. Запуск этих программ под другими операционными системами возможен только с помощью эмуляторов среды Windows (Wine), хотя такое их использование нарушает пользовательское соглашение.
Вокруг факта включения таких стандартных продуктов в ОС Windows разгорается много дискуссий и юридических споров, поскольку есть мнение, что это создает препятствия для распространения конкурирующих продуктов. Часто ставят под сомнение качество браузера Internet Explorer, объясняя его популярность вхождением в пакет Windows и плохой осведомленностью пользователей о наличии альтернатив.
В 1997 компания Sun Microsystems подала в суд на компанию за использование технологий Java. В 2001 Microsoft выплатила штраф, и исключила виртуальную машину Java из состава своих продуктов. В январе 2003 года была создана операционная система Win. Home Edition (WHE 1.01). Данная версия операционной системы была разработана для спец. ведомств стран СНГ и РФ, однако не получила широкого распространения и в дальнейшем была заменена более совершенной версией. В марте 2004 года Европейская комиссия оштрафовала Майкрософт, в ответ на это Microsoft выпустила для продажи в Европе «Windows XP N», версию Windows XP без Windows Media Player. В декабре 2005 Европейская комиссия вновь оштрафовала Майкрософт, за то, что компания открыла только исходные коды, достаточные для создания конкурента Windows Media Services, но не документацию.
Компания Майкрософт продолжает отстаивать своё право включать свои продукты в пакет Windows и продолжает разрабатывать новые интегрированные продукты. В 2009 году планировался выпуск «Windows 7 Europe» для европейского рынка, но Microsoft достигла соглашения с Европейской комиссией, и выход был отменён. Тем не менее, редакции KN и N появятся в продаже. Также, начиная с Windows 7, браузер стал опциональным компонентом, а почтовый клиент распространяется отдельно — в составе Windows Live Essentials.
Операционная система Microsoft Windows для начинающих и не только
Что понимается под операционной системой?
В общем случае, под операционной системой понимают комплект программ, позволяющих управлять ресурсами (оперативной памятью, жестким диском, процессором, периферией) компьютера. Без операционной системы невозможно запустить какую-либо прикладную программу, например, текстовой редактор. Поэтому операционная система -- это база, под которую разрабатываются различные приложения.
После того, как Джон Соша изобрел Norton Commander командная строка стала раздражать миллионы пользователей ПК, не знающих стандартных команд и параметров дисковой операционной системы. Вскоре в четвертой версии MS-DOS появилось нечто похожее на объектно-ориентированную оболочку -- DOS Shell. Но это программа как-то не прижилась. Можно сказать, что Windows -- это более чем просто операционная система, так как в ней вы можете работать, не вводя с клавиатуры умопомрачительные команды в назойливое приглашение, типа C:\. В Windows вся информация представлена в интуитивно-понятной графической оболочке таким образом, что пользователь персонального компьютера может работать эффективно, легко, без заучивания опостылевших директив и команд. Все, что вам нужно сделать -- это найти нужное приложение или документ и щелкнуть по соответствующему ярлыку клавишей мыши. Для упрощения поиска документов и приложений Windows предлагает пользователю так называемую концепцию рабочего стола. Рабочий стол в Windows есть некая модель поверхности обычного стола с документами и папками.
Преимущества и недостатки Windows.
Преимущества.
Удобство и поддержка устройств. Основное отличие программ для DOS и для Windows состоит в том, что DOS-программа может работать с аппаратными средствами компьютера (монитором, клавиатурой, принтером и т. д.) непосредственно минуя DOS (и, как правило, поступает именно таким образом), в то время как Windows-программа должна обращаться к внешним устройствам только через посредство Windows. Поэтому после установки в Windows драйвера, обеспечивающего поддержку данного устройства (то есть настраивающего Windows на особенности данного устройства) все Windows-программы могут работать с этим устройством. Это ликвидирует весьма болезненную для DOS проблему обеспечения совместимости программ с конкретными устройствами.
Программы (драйверы) для поддержки наиболее распространенных устройств входят в Windows, а для остальных устройств поставляются вместе с этими устройствами или контролёрами.
Единый пользовательский интерфейс. Windows представляет программистам все необходимые средства для создания пользовательского интерфейса, поэтому программисты пользуются ими, а не изобретают аналогичные собственные средства. Вследствие этого пользовательский интерфейс Windows-программ в значительной степени унифицирован, и пользователям не требуется изучать для каждой программы новые принципы организации взаимодействия с этой программой.
Поддержка масштабируемых шрифтов. В таких приложениях, как редактирование документов, издательское и рекламное дело, создание таблиц или презентаций и т.д., необходимо использование большого количества шрифтов – текстовых, заголовочных, декоративных, пиктографических и других, причем символы этих шрифтов могут потребоваться в самых различных размерах. Поэтому в Windows 3.1 была встроена поддержка масштабируемых шрифтов формата True Type. Масштабируемые шрифты в (отличие от растровых) содержат не растровые (поточечные) изображения символов некоторого фиксированного размера, а описание контуров символов, позволяющие строить символы любого нужного размера. Поскольку изображения символов на экране и на печати формируется из одних и тех же контуров, содержащихся в шрифтовом файле, они, естественно, полностью соответствуют друг другу, что обеспечивает выполнение принципа WYSIWYG – что на экране, то и на печати.
Поддержка мультимедиа. Одним из усовершенствований Windows явилась поддержка мультимедиа. При подключении соответствующих устройств Windows может воспринимать звуки от микрофона, компакт-диска или
MIDI – синтезатора, изображения от цифровой видеокамеры или с компакт-диска, выводить звуки и движущиеся изображения.
Это открывает большие возможности для обучающих, игровых и других программ, позволяя
делать общение с компьютером более лёгким и приятным даже для непрофессионалов.
Многозадачность. Windows обеспечивает возможность одновременного выполнения нескольких программ и переключения с одной программы на другую.
Средства обмена данными. Для организации обмена данными между различными программами Windows предлагает следующие способы:
Буфер обмена данными (clipboard):одна программа может поместить данные в этот буфер, а другая использовать данные из буфера (например, вставив их в документ);
Динамический обмен данными(Dynamic Data Exchange, DDE) – одна программа может использовать данные, созданные другой программой (например, редактор документов может использовать часть таблицы, созданной табличным процессором), причем копия данных в использующей программе сохраняет «привязку» к исходным (оригинальным) данным. Поэтому программа, использующая DDE-данные, может в любой момент их «обновить», т.е. восстановить соответствие используемой копии данных оригиналу;
Механизм связи и внедрения объектов (Object Linking and Imbibing,OLE), появившийся в версии Windows3.1, является усовершенствованием средств DDE. Здесь программа использующая «внедренные» данные, может редактировать эти данные, для чего автоматически запускается программа, с помощью которой эти данные были созданы. Например, в документ, обрабатываемый редактором Microsoft Word, можно вставить в качестве «объекта» картинку, созданную в графическом редакторе Corel Draw, и тогда при двойном щелчке мышью над изображением данной картинки в документе Microsoft Word автоматически вызовется Corel Draw для редактирования этой картинки.
Средства обмена данными между Windows-программами существенно помогают работе пользователей и облегчают им решение сложных задач, требующих использование более чем одной программы.
Совместимость с DOS-программами. Работа в среде Windows не вынуждает отказываться от использования DOS программ. Более того, для
запуска DOS программ, как правило, нет необходимости выходить из Windows. Однако следует заметить, что DOS программы под управлением Windows выполняются медленнее.
Возможности для разработчиков. Все перечисленные ниже особенности Windows удобны и для разработчиков программ. Например, имеющиеся в Windows стандартные средства для создания пользовательского интерфейса делает ненужным изобретения собственных средств.
Поддержка устройств (принтеров, мониторов и т.д.) в Windows снимает его заботу с разработчиков программ. Однако два преимущества программирования для Windows следует отметить особо:
доступность всей оперативной памяти – в отличие от DOS, средства управления оперативной памятью Windows обеспечивают доступность для программ всей оперативной памяти компьютера (а не 640 Кбайт), что облегчает создание больших программ;
динамическое подключение библиотек - Windows обеспечивает автоматическое подключение библиотек подпрограмм во время выполнения программы. Формат библиотек (.DLL – файлов) и порядок вызова библиотечных подпрограмм стандартизованы, поэтому эти библиотеки могут быть созданы с помощью различных программных средств и даже написаны на разных языках программирования.
Недостатки Windows
Как известно, любая медаль имеет две стороны, поэтому у Windows есть не только преимущества, но и недостатки, которые мы и опишем в этом разделе.
Главный недостаток Windows для пользователей состоит в том, что описанные преимущества Windows достигаются за счет значительного увеличения нагрузки на аппаратные средства компьютера. Графический интерфейс, поддержка масштабируемых шрифтов, поддержка многозадачности и т. д. требуют большой мощности процессора, значительной оперативной памяти и дискового пространства. Хотя для работы с Windows достаточно лишь процессора 80386 с 2-4 мегабайтами оперативной памяти и свободных 45 мегабайт на винчестере, такая конфигурация не позволяет использовать Windows ни для каких практических задач, разве лишь для раскладывания пасьянсов. Комфортная же работа обеспечивается лишь при наличии 8-16 мегабайт и не менее 150-300 мегабайт на диске для Windows и Windows-приложений. При этом часто программы с приблизительно одинаковыми возможностями для DOS и для Windows отличаются по требованиям к компьютерным ресурсам в несколько раз. Так, Microsoft Word для DOS может работать на компьютере без жёсткого диска и требует всего 512 килобайт ОЗУ.
А редактор Microsoft Word for Windows (правда, здесь следует заметить, что он обладает несколько большими возможностями) требует 4 мегабайта оперативной памяти (а лучше 8 мегабайт), и около 20 мегабайт на диске, работая при этом в несколько раз медленнее. Чтобы компенсировать это замедление и обеспечить приемлемую скорость работы, пользователи вынуждены покупать достаточно мощные компьютеры. На западе мода на Windows очень быстро привела к отказу не только от компьютеров на основе Intel-286, но и на основе Intel-386.
Всё вышесказанное никоим образом не умаляет достоинств Windows, а лишь указывает на то, что Windows не является универсальным решением, пригодным для всех пользователей и на все случаи жизни. Конечно, для большинства пользователей (если они согласны платить за достаточно мощный компьютер) Windows и Windows-программы позволяют работать на компьютере самым удобным и эффективным способом. Использование Windows нецелесообразно в следующих случаях:
Для приложений, в которых графический интерфейс и многозадачные возможности Windows не нужны: например, на рабочих местах операторов в банках, торговых работников и т.д.
Для приложений, в которых необходимо обеспечить особо высокое быстродействие обработки.
Для задач, удовлетворительное решение которых обеспечивается имеющимися программами, работающими в среде DOS, UNIX и т.д.
Имеет свои негативные стороны и программирование под Windows. Дело в том, что Windows в принудительном порядке заставляет программистов
использовать средства программного интерфейса Windows (API) - это более 600 функций. Кроме того, программист должен для этого свободно владеть весьма сложными концептуальными понятиями объектно-ориентированного программирования, оперировать с объектами, сообщениями, разделяемыми ресурсами и т.д., поэтому обучение программированию под Windows весьма непростое дело.
Заключение
Windows наиболее распространенная операционная система, и для большинства пользователей она наиболее подходящая ввиду своей простоты, неплохого интерфейса, приемлемой производительности и огромного количества прикладных программ для нее.
Я имел возможность работать с операционными системами Microsoft от DOS и Windows98, до версии Windows XP Professional, по-моему, мнению наиболее удачной является ОС ХР Professional, которая предоставляет наиболее совершенную защиту, чем Windows 98 или Windows Ме, более быстродействующая, нежели Windows NT, более продуманный интерфейс и много разных других мелочей, делающих эту ОС более привлекательной. Хотя бы проводник, автоматически встраивающийся в панель задач, новое меню кнопки «Пуск», встроенные программы просмотра графики и программа, встроенная в медио проигрыватель для перевода звуковых файлов в формат МП 3, для экономии места на диске и многое другое.
Список использованной литературы.
Брайан Ливингстон, Пол Таррот Секреты Microsoft Windows Vista = Windows Vista Secrets. — М.: «Диалектика», 2007. — С. 456
Пол Мак-Федрис Microsoft Windows XP SP2. Полное руководство = Microsoft Windows XP Unleashed. — М.: «Вильямс», 2006. — С. 880
Гордеев А.В. Операционные системы. – М.: Планета, 2004
Олифер Н.А., Олифер В. Г. Сетевые операционные системы. – М.: Дело и сервис, 2006
www.microsoft.com/ru