Популярные зарубежные ос unix solaris windows nt многопоточность появилась только в

При анализе истории развития области ИТ следует иметь в виду особые условия, в которых развивались эти разработки как в СССР (России), так и в США, начиная с 1950-х гг. – "холодная война" и "железный занавес". Вследствие этого, все эти разработки, как в области аппаратуры, так и в области программного обеспечения, были строго засекречены (по мнению автора, в СССР – даже более строго, чем в США, так как о работах американских специалистов мы все же имели возможность узнавать из журналов). Такая ситуация приводила к тому, что аналогичные идеи подчас возникали и реализовывались по обе стороны "железного занавеса" примерно в одно и то же время, при почти полном отсутствии информации о работах друг друга. Однако в этом были и своего рода положительные стороны: на эти работы выделялись значительные средства правительством и отраслевыми министерствами, на эти средства создавались и развивались весьма сильные команды разработчиков (прежде всего – в области аппаратуры, операционных систем и компиляторов). В конце 1980-х – начале 1990-х гг., в известный переходный период в СССР и России, когда начинали создаваться группы для работы по outsourcing – проектам, финансируемые фирмами США, американские специалисты были просто поражены, обнаружив в России сильнейшие исследовательские и промышленные группы в области ИТ, предлагающие и реализующие массу своих идей, находящиеся в курсе новейших разработок, а своим теоретическим уровнем, разработками в области структур данных и эффективных алгоритмов подчас опережавшие лучшие американские команды. Автору этих строк посчастливилось стать руководителем одной из таких групп, работавшей в течение многих лет с фирмой Sun в стенах математико-механического факультета СПбГУ. Все описанные тенденции существенно повлияли на разработку аппаратуры и операционных систем. Отечественные разработчики, почти ничего не зная об аналогичных работах американских коллег, создавали свои оригинальные системы, в том числе – ОС. Например, идея многопоточности (multi-threading) была реализована в ОС "Эльбрус" [ 12 ] еще в конце 1970-х гг., а в популярных зарубежных ОС (UNIX, Solaris, Windows NT) многопоточность появилась только в конце 1980-х – начале 1990-х гг. К сожалению, имело место и существенное отставание советских и российских ИТ-специалистов от американцев – прежде всего, в области разработки элементной базы и технологии производства компьютеров, а также в области графических пользовательских интерфейсов (GUI).

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

При анализе истории развития области ИТ следует иметь в виду особые условия, в которых развивались эти разработки как в СССР (России), так и в США, начиная с 1950-х гг. – «холодная война» и «железный занавес». Вследствие этого, все эти разработки, как в области аппаратуры, так и в области программного обеспечения, были строго засекречены (по мнению автора, в СССР – даже более строго, чем в США, так как о работах американских специалистов мы все же имели возможность узнавать из журналов). Такая ситуация приводила к тому, что аналогичные идеи подчас возникали и реализовывались по обе стороны «железного занавеса» примерно в одно и то же время, при почти полном отсутствии информации о работах друг друга. Однако в этом были и своего рода положительные стороны: на эти работы выделялись значительные средства правительством и отраслевыми министерствами, на эти средства создавались и развивались весьма сильные команды разработчиков (прежде всего – в области аппаратуры, операционных систем и компиляторов). В конце 1980-х – начале 1990-х гг., в известный переходный период в СССР и России, когда начинали создаваться группы для работы по outsourcing – проектам, финансируемые фирмами США, американские специалисты были просто поражены, обнаружив в России сильнейшие исследовательские и промышленные группы в области ИТ, предлагающие и реализующие массу своих идей, находящиеся в курсе новейших разработок, а своим теоретическим уровнем, разработками в области структур данных и эффективных алгоритмов подчас опережавшие лучшие американские команды. Автору этих строк посчастливилось стать руководителем одной из таких групп, работавшей в течение многих лет с фирмой Sun в стенах математико-механического факультета СПбГУ. Все описанные тенденции существенно повлияли на разработку аппаратуры и операционных систем. Отечественные разработчики, почти ничего не зная об аналогичных работах американских коллег, создавали свои оригинальные системы, в том числе – ОС. Например, идея многопоточности (multi-threading) была реализована в ОС «Эльбрус»
[
12
]
еще в конце 1970-х гг., а в популярных зарубежных ОС (UNIX, Solaris, Windows NT) многопоточность появилась только в конце 1980-х – начале 1990-х гг. К сожалению, имело место и существенное отставание советских и российских ИТ-специалистов от американцев – прежде всего, в области разработки элементной базы и технологии производства компьютеров, а также в области графических пользовательских интерфейсов (GUI).

Среди передовых оригинальных отечественных разработок в области компьютерной аппаратуры и ОС 1960-х – 1970-х гг. следует выделить прежде всего ЭВМ БЭСМ-6, ее операционные системы: ОС ДИСПАК, ОС ДИАПАК, ОС ИПМ и ее системное и прикладное программное обеспечение. Разработчиком БЭСМ-6, ОС ДИСПАК и ОС ДИАПАК был Институт точной механики и вычислительной техники АН СССР под руководством академика Сергея Алексеевича Лебедева, основателя всей нашей отечественной вычислительной техники. Разработчик ОС ИПМ – Институт прикладной математики АН СССР. ЭВМ БЭСМ-6 и ее программное обеспечение следует признать уникальными. В их развитии участвовали многие академические и университетские коллективы не только СССР, но и зарубежных стран — достаточно вспомнить такие системы, как АЛГОЛ-ГДР — реализацию расширения Алгола-60 с развитыми математическими библиотеками, выполненную нашими коллегами из Германии, а также реализацию Паскаля для БЭСМ-6, разработанную специалистами из Польской Академии наук. Операционные системы для БЭСМ-6 поддерживали пакетный (с учетом приоритетов и ресурсов заданий) и диалоговый режимы взаимодействия с компьютером, страничную организацию виртуальной памяти, работу с внешними устройствами и телекоммуникационными каналами, работу в локальных сетях. К каждой БЭСМ-6 были подключены десятки терминалов, работавших под управлением диалоговых систем ДИМОН, ДЖИН и др. (это при объеме оперативной памяти БЭСМ-6 всего в 32 страницы по 4096 байтов и быстродействии до 1 млн. операций в секунду). Работу БЭСМ-6 и ее ОС отличала высокая надежность. Руководитель разработки ОС ДИСПАК – В.Ф. Тюрин.

Другой передовой отечественной разработкой 1970-х – 1980-х гг. была разработка многопроцессорных вычислительных комплексов (МВК) «Эльбрус-1» и «Эльбрус-2»
[
12
]
. В разработке программного обеспечения системы «Эльбрус» автор курса со своей командой принимал активное участие в течение 15 лет. Идейным вдохновителем проекта «Эльбрус» стал сам С.А. Лебедев, затем им руководили академик Всеволод Сергеевич Бурцев, а после него – чл.-корр. АН СССР Борис Арташесович Бабаян. Следует признать, что у «Эльбруса» были зарубежные прототипы и задолго до его появления были написаны академические зарубежные работы, заложившие научные основы подобных компьютерных архитектур, например,
[
13
]
. Коммерческим прототипом «Эльбруса» была известная серия компьютеров фирмы Burroughs (США): B5000 / B5500 / B6700 / B7700. Однако разработчикам «Эльбруса» и его операционной системы удалось предложить и реализовать целый ряд собственных оригинальных идей и методов. Основными принципами «Эльбруса», как и его предшественников, являлись: теговая архитектура (каждое слово памяти, кроме данных, содержало тег – код типа данных, хранящихся в этом слове, по которому аппаратура контролировала правильность выполнения операции), динамизм и аппаратная поддержка типичных (подчас весьма сложных) последовательностей действий, используемых при реализации языков высокого уровня — например, вход в процедуру по указателю на нее, с установкой дисплей-регистров, ссылающихся на доступные процедуре области локальных данных. ОС «Эльбрус» поддерживала создание процессов и операции над ними, аналогичные тем, которые впоследствии в зарубежных разработках были названы многопоточностью (multi-threading); была реализована математическая (виртуальная) память с поддержкой страничного распределения виртуальной памяти (на диске) и сегментного распределения физической (оперативной) памяти. Динамизм выражался в том, что отсутствовала статическая линковка; все программы и модули загружались в память только динамически, при первом вызове. Также динамически, при первом запросе, по прерыванию, выделялся каждый массив математической памяти. Подобные принципы были для своего времени передовыми, использование тегов значительно повысило надежность. Однако, с современной точки зрения, идеологию «Эльбруса», по-видимому, нельзя считать гибкой и эффективной, так как все аппаратные операции и соответствующие действия ОС были реализованы в общем виде, и практически отсутствовала какая-либо возможность оптимизаций, например, для более быстрого вызова процедуры в случае отсутствия необходимости обращения к ее аргументам, для быстрого доступа к статической области памяти и т.д. Более подробно принципы «Эльбруса» описаны в монографии
[
12
]
.

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

Однако в начале 1970-х годов в развитии отечественной вычислительной техники и ее системного программного обеспечения начался новый, неожиданный для большинства пользователей и специалистов, этап. Правительство СССР приняло беспрецедентное решение о создании, в качестве основной на достаточно долгий период времени (как изначально планировалось, на 20-30 лет, что оказалось утопией), отечественной серии — Единой Системы ЭВМ (ЕС ЭВМ) — путем копирования американских компьютеров серии IBM 360. Соответственно, все базовое системное программное обеспечение, в том числе и ОС, также было адаптировано к использованию в СССР (либо использовалось в оригинальном виде – с сообщениями на английском языке и т.д.). Это решение вызвало большие проблемы с финансированием у разработчиков отечественных архитектур компьютеров. Это также вызвало большие сложности у пользователей и разработчиков программного обеспечения, так как далеко не все хорошо владели английским языком (ныне в этом последнем отношении ситуация гораздо лучше). Появились, например, системы-обертки, обеспечивающие русскоязычный интерфейс: с их помощью все задания для ЕС писались с использованием русскоязычной мнемоники, затем конвертировались в англоязычный Job Control Language (язык управления заданиями IBM 360), а все сообщения, выдаваемые в качестве результатов, переводились на русский язык. Это было интересным подходом, однако не прижилось. Документация по IBM 360 постепенно была переведена на русский язык, появилась русскоязычная справочная и учебная литература по ЕС ЭВМ. К сожалению, отечественные аналоги аппаратуры IBM 360 – машины серии ЕС ЭВМ – оказались гораздо менее надежными, чем их прототипы. В течение еще нескольких лет было принято еще одно правительственное решение – об аналогичном копировании американских миникомпьютеров серий PDP 10 и PDP 11, под общим названием «Система Мини-ЭВМ» (СМ ЭВМ). Были выпущены компьютеры этой серии СМ-1, СМ-2, СМ-3 и СМ-4. Были и другие аналогичные работы по копированию зарубежных архитектур компьютеров и выпуске на этой основе отечественных аналогов. Фактически, можно сказать, что, благодаря подобному подходу, срок использования зарубежных ОС в СССР и в России был продлен не менее чем на 15-20 лет, что просто беспрецедентно. Копирование машин IBM 360 и PDP, с одной стороны, дало возможность советским программистам освоить новые развитые операционные системы, языки программирования, библиотеки программ, с другой – отбросило нашу отчественную вычислительную технику еще дальше назад. Один из классиков компьютерной науки, профессор Эдсгер Дейкстра (E. Dijkstra) в 1977 г. на научном семинаре в Ленинграде в АН СССР не без иронии заметил, что «решение русских о копировании IBM-360 можно считать серьезной победой США в холодной войне».

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

Особенности операционных систем для компьютеров общего назначения (mainframes)

Пакетный режим .Более подробное рассмотрение операционных систем начнем с особенностей ОС для mainframes.

Один из основных режимов работы ОС – пакетный режим (batch mode) – режим пропуска и одновременной обработки пользовательских заданий ( jobs ) – программ, введенных с внешнего носителя или с терминала, с учетом их приоритетов и требуемых ими ресурсов. При этом ОС пытается максимально сэкономить время пропуска пакета заданий, формируя их оптимальным образом, — например, запускать на процессоре короткое задание, пока более длинное выполняет ввод-вывод.

Уже в самых первых ОС была реализована другая основная возможность — автоматическая передача управления от одного задания к другому при завершении или прекращении предыдущего задания. Для этого ОС использует резидентный (постоянно находящийся в памяти по фиксированным адресам) монитор – программу, осуществляющую поочередную передачу управления от задания к заданию, по мере их завершения. Алгоритм работы монитора следующий. При запуске компьютера управление передается монитору, который выбирает очередное задание и передает ему управление. По окончании задания управление возвращается монитору, и т.д.

Распределение памяти в однозадачной ОС с пакетной
обработкой заданий

Распределение памяти в простой системе пакетной обработки

Рис.
2.1.
Распределение памяти в простой системе пакетной обработки

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

В
лекции дан исторический обзор ОС, как
зарубежных, так и отечественных (ОС
ДИСПАК, ОС «Эльбрус» и др.). Рассмотрены
основные режимы работы пользователей
и заданий в ОС (пакетный, мультипрограммирование,
разделение времени).

Содержание

  • Введение

  • История
    ОС

  • Диалекты
    UNIX

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

  • Особенности
    операционных систем для компьютеров
    общего назначения (mainframes)

  • Распределение
    памяти в однозадачной ОС с пакетной
    обработкой заданий

  • ОС
    пакетной обработки с поддержкой
    мультипрограммирования

  • Режим
    разделения времени и особенности ОС с
    режимом разделения времени

  • Ключевые
    термины

  • Краткие
    итоги

  • Набор
    для практики

    • Вопросы

    • Темы
      для курсовых работ, рефератов, эссе

Введение

Операционные
системы имеют долгую (более 50 лет) и
весьма насыщенную историю. Не следует
полагать, что в России и в СССР
использовались
и используются лишь зарубежные ОС.
Известны также выдающиеся, оригинальные
отечественные работы в данной области,
их мы также рассмотрим. По мере эволюции
ОС были реализованы все более гибкие и
удобные режимы их использования.

История
ОС

В
ранних mainframe-компьютерах (1940-1950 гг.),
первым из которых был компьютер ENIAC
(1947 г., США), операционные системы
отсутствовали. Обращение к памяти в
этих компьютерах осуществлялось по
реальным (физическим) адресам, а обращение
к внешним устройствам (например, к
устройству ввода с перфокарт или
накопителю на магнитной ленте)
осуществлялось специальными командами,
также по физическим адресам. Подобные
компьютеры были весьма громоздкими,
каждый из них занимал большой зал, в
котором пользователи по очереди работали
на компьютере, используя
столь неудобный интерфейс, как инженерный
пульт. Каждый пользователь перед уходом
«с машины» (как тогда говорили)
останавливал и «обнулял» ее нажатием
кнопок на пульте и уступал место
следующему пользователю, который вводил
свою программу и данные с перфокарт или
перфоленты, набирал ее начальный адрес
тумблерами на пульте и запускал ее с
помощью
специальной кнопки. При любом сбое или
ошибке в программе, в ситуации приходилось
разбираться, изучая комбинации лампочек
на пульте, воспроизводящие в двоичном
виде содержимое регистров.

Разумеется,
подобный способ взаимодействия с
компьютером был очень неудобен.
Требовалась хотя бы минимальная
автоматизация. Для этого в 1950-х – 1960-х
гг. – были созданы диспетчеры
(dispatchers)

предшественники ОС, системные программы,
управлявшие прохождением пакета задач,
вводимых с перфокарт. Например, такой
диспетчер
(названный
ДМ-222) использовался на ЭВМ М-222 в середине
1970-х гг., на котором студенты мат-меха,
в том числе и автор курса, пропускали
свои студенческие задания. Выглядело
это следующим образом. Студент писал
свою программу (или исправления к ней
– так называемую «добивку») на
специальных бланках и сдавал в перфорацию,
затем получал перфокарты и отдавал
колоду перфокарт с программой оператору
машинного зала. Через несколько часов
он мог рассчитывать получить результаты
своей программы – колоду перфокарт
обратно и распечатку результатов. В
машинном зале оператор вводил очередное
задание с перфокарт. Программа-диспетчер
копировала
образ введенной колоды перфокарт с
заданием на ленту
ввода
,
на которой хранились все образы заданий
в хронологическом порядке их ввода,
независимо от требуемых для них ресурсов
– времени и объема памяти. Диспетчер
осуществлял
запуск заданий по очереди, по принципу
FIFO
(First-In-First-Out)

в порядке поступления. Выбирая из очереди
некоторое задание, диспетчер
размещал
его в памяти и запускал. По окончании
задания (или при его прерывании вследствие
ошибки) на печатающее устройство
выдавалась распечатка результатов.
Затем управление передавалось следующему
заданию. Такой режим доступа к компьютеру
был, конечно, гораздо удобнее, чем работа
с пульта. Недостатки его в том, что,
во-первых, программы пропускались по
очереди (отсутствовала одновременная
обработка нескольких заданий), во-вторых,
ресурсы, требуемые для выполнения
задания, никак не учитывались, и программа,
требующая для выполнения всего 1 мин.,
должна была ожидать завершения большой
задачи, требовавшей для выполнения,
например, пяти часов, — только потому,
что последняя была раньше введена в
систему.

В
1960-х – 1970-х гг. были разработаны
классические операционные системы,
которые все более и более усложнялись.
Все более сложными становились их
системы файлов и другие компоненты ОС.
Наиболее известные из операционных
систем этого периода: среди зарубежных
— ATLAS, MULTICS, OS IBM/360, среди отечественных –
ОС ДИСПАК для ЭВМ БЭСМ-6. Для классических
операционных систем были характерны
следующие основные возможности:

  1. мультипрограммирование
    (multi-programming) – одновременная обработка
    нескольких заданий;

  2. пакетная
    обработка (batch mode) – обработка пакета
    заданий, введенных с перфокарт или с
    терминалов, с учетом их приоритетов и
    требуемых ресурсов

  3. разделение
    времени (time sharing) – параллельная работа
    нескольких пользователей с терминалов
    (телетайпов или дисплеев), управлявших
    прохождением своих заданий, выполнявших
    их ввод в текстовых редакторах,
    компиляцию, выполнение и отладку;

  4. управление
    процессами – параллельное (или
    попеременное, если компьютер был
    однопроцессорным) выполнение
    пользовательских процессов; возможность
    явного запуска параллельного процесса.

Разработка
каждой операционной системы для каждой
новой модели компьютера требовала
многих лет напряженной высококвалифицированной
работы. При этом каждая ОС первоначально
разрабатывалась на низкоуровневом
языке – языке ассемблера. Поэтому еще
в 1960-х гг. возникла идея разработки
мобильных
(переносимых) ОС

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

Первая
мобильная
ОС
была
разработана в 1970 г. Брайаном Керниганом
(B. Kernighan) и Деннисом Ритчи (D. Ritchie) в фирме
AT & T и получила название UNIX. Даже в
самом ее названии заложено своего рода
противопоставление MULTICS (multi — много, uni
– один) – последняя, известна своей
усложненностью. Этим названием авторы
подчеркивали основную идею UNIX –
унификацию
и
упрощение
представления
файлов и операций над ними (в UNIX файл –
это последовательность байтов),
пользовательских программ и процессов.
Унифицированным, не зависимым от целевой
аппаратной платформы, был также исходный
код UNIX, который был полностью написан
на специально разработанном новом языке
Си (основными авторами Си, как и UNIX,
являются Б. Керниган и Д. Ритчи).
Использование языка высокого уровня
для разработки UNIX было революционным
шагом в истории ОС и позволило, во-первых,
значительно ускорить и облегчить
разработку, во-вторых – перенести UNIX
на многие модели компьютеров (для которых
при этом, разумеется, необходимо было
разработать компилятор с языка Си).
Впервые система UNIX была использована
в 1970 г. на миникомпьютере PDP-10. Компьютеры
фирмы PDP образца начала 1970-х гг. принято
относить к классу миникомпьютеров.
Хотя данное название с современной
точки зрения не вполне правомерно: такой
компьютер занимал … два небольших
шкафа, по сравнению с mainframe-компьютером
образца 1960-х гг., занимавшим целый зал.
Объем оперативной памяти миникомпьютеров
составлял всего порядка 32 килобайт (!).
Однако на них успешно работала ОС UNIX
(были и другие ОС – например, RSX-11), был
компилятор с языка Паскаль, была
реализована удобная система файлов и
программа для работы с ними, были доступны
математические библиотеки программ.

В
начале 1980-х годов появились персональные
компьютеры. Операционные системы для
них фактически повторили в своем развитии
операционные системы для компьютеров
общего назначения: в них были использованы
аналогичные идеи и методы. Однако первые
персональные компьютеры были менее
мощными, чем mainframes, как по объему памяти,
так и по быстродействию и разрядности
микропроцессора.
Первый распространенный микропроцессор
фирмы Intel был 8-разрядным, и для него была
разработана также 8-разрядная операционная
система CP/M. В 1975 г. была создана фирма
Microsoft, и ее первой разработкой была
16-разрядная операционная система MS DOS
для персональных компьютеров с
процессорами Intel 8086 (или, коротко, x86). В
командном языке MS-DOS чувствуется явное
влияние UNIX, однако MS-DOS предоставляет
гораздо меньшие возможности командного
языка.

В
начале 1980-е гг. фирма Apple выпустила
персональные компьютеры Lisa и Macintosh с
операционной системой MacOS. Ее характерной
чертой была реализация удобного
графического
пользовательского интерфейса (GUI)
в
виде окон, меню, «иконок» и многих
других элементов GUI, к которым мы с Вами
ныне так привыкли. MacOS стала первой ОС
с развитой поддержкой GUI (для сравнения,
MS-DOS предоставляла возможности работы
непосредственно на командном языке).

В
конце 1980-х — начале 1990-х гг., под влиянием
MacOS, Microsoft разработала графическую
оболочку Windows над операционной системой
MS-DOS. Первая версия Windows, таким образом,
еще не была операционной системой; она
запускалась командой win
из
командного языка MS-DOS. Однако многие
современные черты GUI, характерного для
Windows, ставшие «родными» для
пользователей Windows, в ней уже присутствовали.
Затем были выпущены Windows 3.x и Windows for
Workgroups (уже операционные системы), в 1995
г. – Windows 95 (с развитыми мультимедийными
возможностями, большим набором встроенных
драйверов для различных устройств и
поддержкой механизма Plug-and-Play подключения
нового устройства без остановки
компьютера) и Windows NT с развитыми сетевыми
возможностями и повышенной надежностью.
Именно Windows NT стала основой для последующего
развития Windows. В настоящее время наиболее
популярными моделями Windows являются
Windows XP (поддержка которой фирмой Microsoft
уже завершается – система выпущена в
2001 г.), Windows 2003 Server, Windows Vista, Windows 2008 Server и
Windows 7.

В
начале 1990-х гг. появилась первая версия
ОС Linux
(ОС типа UNIX с открытыми исходными кодами
ядра), которая постепенно приобрела
значительную популярность, но, главным
образом, используется на серверах.
Большинство клиентов (пользователей)
в мире предпочитают на своих компьютерах
Windows или MacOS (заметим, что, например, в
США и Канаде компьютеры Macintosh более
популярны, чем Windows-машины с процессорами
Intel или их аналогами.

Не
будем также забывать, что в ответ на
такой, на первый взгляд, простой вопрос:
«Какая ОС самая популярная в мире?»
даже сотрудники Microsoft не отвечают
«Windows». Дело в том, что наиболее
популярными в мире компьютерными
устройствами являются не настольные
или портативные компьютеры, а более
дешевые и компактные мобильные телефоны,
для которых пока первенство удерживает
специализированная ОС семейства Symbian,
которая, в частности, используется в
большинстве мобильных телефонов
крупнейшей фирмы Nokia. Операционную
систему Symbian активно догоняет на рынке
ОС для мобильных устройств новая ОС
Google Android. Так что, операционные системы
семейства Windows по своей распространенности
оказываются лишь на втором месте.

Диалекты
UNIX

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

  • Berkeley
    Software Distribution (BSD), в настоящее время –
    FreeBSD (University of Berkeley) – один из наиболее
    известных диалектов UNIX, разработанный
    в Университете Беркли, США. В нем впервые
    были реализованы сетевые сокеты. Именно
    этот диалект был положен в основу первой
    версии ОС Solaris фирмы Sun (Solaris 1.x) при ее
    создании в 1982 г. Один из авторов данного
    диалекта – Билл Джой (Bill Joy), один из
    четверых легендарных создателей фирмы
    Sun.

  • System
    V Release 4 (SVR4) – диалект UNIX, разработанный
    в фирме AT&T. Для него наиболее характерны
    расширенные возможности параллельного
    многопоточного программирования
    (multi-threading). Данный диалект был положен
    в основу второй версии ОС Solaris (Solaris 2.x)
    фирмы Sun в начале 1990-х годов.

  • Linux
    (RedHat, SuSE, Mandrake, Caldera, Debian, Fedora и др.) – ОС
    типа UNIX со свободно распространяемым
    с исходными кодами ядром. Первая версия
    Linux
    была разработана в начале 1990-х гг. В
    настоящее время диалекты Linux
    активно используются как серверные
    ОС
    (ОС,
    управляющие работой всевозможных
    серверов), а также как основа для
    разработки ОС для мобильных устройств.

  • Solaris
    (Sun Microsystems, ныне – Oracle / Sun) – один из
    наиболее известных и развитых диалектов
    UNIX. Имеет удобную графическую оболочку,
    развитые средства параллелизма и
    синхронизации процессов, удобные
    сетевые возможности (в частности,
    классическую сетевую файловую систему
    NFS), ряд новых оригинальных файловых
    систем (в частности, ZFS – файловая
    система с большим размером файлов и
    возможностью криптования информации).
    В настоящее время распространяется ОС
    Solaris 10.

  • IRIX
    (Silicon Graphics) – диалект UNIX, разработанный
    фирмой Silicon Graphics (SGI), США, широко известным
    производителем графических рабочих
    станций.

  • HP-UX
    (Hewlett-Packard) – диалект UNIX, разработанный
    и используемый одной из крупнейших
    «акул» в мире ИТ – фирмой
    Hewlett-Packard.

  • Digital
    UNIX (DEC) – диалект UNIX, разработанный в
    начале – середине 1990-х гг. фирмой Digital
    Equipment Corporation (DEC), впоследствии приобретенной
    фирмой Compaq. Первая версия UNIX, поддерживавшая
    64-разрядные процессоры.

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

При
анализе истории развития области ИТ
следует иметь в виду особые условия, в
которых развивались эти разработки как
в СССР (России), так и в США, начиная с
1950-х гг. – «холодная война» и
«железный занавес». Вследствие
этого, все эти разработки, как в области
аппаратуры, так и в области программного
обеспечения, были строго засекречены
(по мнению автора, в СССР – даже более
строго, чем в США, так как о работах
американских специалистов мы все же
имели возможность
узнавать из журналов). Такая ситуация
приводила к тому, что аналогичные идеи
подчас возникали и реализовывались по
обе стороны «железного занавеса»
примерно в одно и то же время, при почти
полном отсутствии информации о работах
друг друга. Однако в этом были и своего
рода положительные стороны: на эти
работы выделялись значительные средства
правительством и отраслевыми
министерствами, на эти средства
создавались и развивались весьма сильные
команды разработчиков (прежде всего –
в области аппаратуры, операционных
систем и компиляторов). В конце 1980-х –
начале 1990-х гг., в известный переходный
период в СССР и России, когда начинали
создаваться группы для работы по
outsourcing – проектам, финансируемые фирмами
США, американские специалисты были
просто поражены, обнаружив в России
сильнейшие исследовательские и
промышленные группы в области ИТ,
предлагающие и реализующие массу своих
идей, находящиеся в курсе новейших
разработок, а своим теоретическим
уровнем, разработками в области структур
данных и эффективных алгоритмов подчас
опережавшие лучшие американские команды.
Автору этих строк посчастливилось стать
руководителем одной из таких групп,
работавшей в течение многих лет с фирмой
Sun в стенах математико-механического
факультета СПбГУ. Все описанные тенденции
существенно повлияли на разработку
аппаратуры и операционных систем.
Отечественные разработчики, почти
ничего не зная об аналогичных работах
американских коллег, создавали свои
оригинальные системы, в том числе – ОС.
Например, идея многопоточности
(multi-threading) была реализована в ОС «Эльбрус»
[12]
еще в конце 1970-х гг., а в популярных
зарубежных ОС (UNIX, Solaris, Windows NT) многопоточность
появилась только в конце 1980-х – начале
1990-х гг. К сожалению, имело место и
существенное отставание советских и
российских ИТ-специалистов от американцев
– прежде всего, в области разработки
элементной базы и технологии производства
компьютеров, а также в области графических
пользовательских интерфейсов (GUI).

Среди
передовых оригинальных отечественных
разработок в области компьютерной
аппаратуры и ОС 1960-х – 1970-х гг. следует
выделить прежде всего ЭВМ БЭСМ-6, ее
операционные системы: ОС
ДИСПАК
,
ОС ДИАПАК, ОС ИПМ и ее системное и
прикладное программное обеспечение.
Разработчиком БЭСМ-6, ОС ДИСПАК и ОС
ДИАПАК был Институт точной механики и
вычислительной техники АН СССР под
руководством академика Сергея Алексеевича
Лебедева, основателя всей нашей
отечественной вычислительной техники.
Разработчик ОС ИПМ – Институт прикладной
математики АН СССР. ЭВМ БЭСМ-6 и ее
программное обеспечение следует признать
уникальными. В их развитии участвовали
многие академические и университетские
коллективы не только СССР, но и зарубежных
стран — достаточно вспомнить такие
системы, как АЛГОЛ-ГДР — реализацию
расширения Алгола-60 с развитыми
математическими библиотеками, выполненную
нашими коллегами из Германии, а также
реализацию Паскаля для БЭСМ-6, разработанную
специалистами из Польской Академии
наук. Операционные системы для БЭСМ-6
поддерживали пакетный (с учетом
приоритетов и ресурсов заданий) и
диалоговый режимы взаимодействия с
компьютером, страничную организацию
виртуальной памяти, работу с внешними
устройствами и телекоммуникационными
каналами, работу в локальных сетях. К
каждой БЭСМ-6 были подключены десятки
терминалов, работавших под управлением
диалоговых систем ДИМОН, ДЖИН и др. (это
при объеме оперативной памяти БЭСМ-6
всего в 32 страницы по 4096 байтов и
быстродействии до 1 млн. операций в
секунду). Работу БЭСМ-6 и ее ОС отличала
высокая надежность. Руководитель
разработки ОС ДИСПАК – В.Ф. Тюрин.

Другой
передовой отечественной разработкой
1970-х – 1980-х гг. была разработка
многопроцессорных вычислительных
комплексов (МВК) «Эльбрус-1» и
«Эльбрус-2» [12].
В разработке программного обеспечения
системы «Эльбрус» автор курса со
своей командой принимал активное участие
в течение 15 лет. Идейным вдохновителем
проекта «Эльбрус» стал сам С.А.
Лебедев, затем им руководили академик
Всеволод Сергеевич Бурцев, а после него
– чл.-корр. АН СССР Борис Арташесович
Бабаян. Следует признать, что у «Эльбруса»
были зарубежные прототипы и задолго до
его появления были написаны академические
зарубежные работы, заложившие научные
основы подобных компьютерных архитектур,
например, [13].
Коммерческим прототипом «Эльбруса»
была известная серия компьютеров фирмы
Burroughs (США): B5000 / B5500 / B6700 / B7700. Однако
разработчикам «Эльбруса» и его
операционной системы удалось предложить
и реализовать целый ряд собственных
оригинальных идей и методов. Основными
принципами «Эльбруса», как и его
предшественников, являлись: теговая
архитектура
(каждое
слово памяти, кроме данных, содержало
тег
код
типа данных, хранящихся в этом слове,
по которому аппаратура контролировала
правильность выполнения операции),
динамизм
и
аппаратная поддержка типичных (подчас
весьма сложных) последовательностей
действий, используемых
при реализации языков высокого уровня
— например, вход в процедуру по указателю
на нее, с установкой дисплей-регистров,
ссылающихся на доступные процедуре
области локальных данных. ОС «Эльбрус»
поддерживала создание процессов и
операции над ними, аналогичные тем,
которые впоследствии в зарубежных
разработках были названы многопоточностью
(multi-threading);
была
реализована математическая
(виртуальная)
память с поддержкой страничного
распределения виртуальной памяти (на
диске) и сегментного распределения
физической (оперативной) памяти. Динамизм
выражался в том, что отсутствовала
статическая линковка; все программы и
модули загружались в память только
динамически, при первом вызове. Также
динамически, при первом запросе, по
прерыванию, выделялся каждый массив
математической памяти. Подобные принципы
были для своего времени передовыми,
использование
тегов значительно повысило надежность.
Однако, с современной точки зрения,
идеологию «Эльбруса», по-видимому,
нельзя считать гибкой и эффективной,
так как все аппаратные операции и
соответствующие действия ОС были
реализованы в общем виде, и практически
отсутствовала какая-либо возможность
оптимизаций, например, для более быстрого
вызова процедуры в случае отсутствия
необходимости обращения к ее аргументам,
для быстрого доступа к статической
области памяти и т.д. Более подробно
принципы «Эльбруса» описаны в
монографии [12].

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

Однако
в начале 1970-х годов в развитии отечественной
вычислительной техники и ее системного
программного обеспечения начался новый,
неожиданный для большинства пользователей
и специалистов, этап. Правительство
СССР приняло беспрецедентное решение
о создании, в качестве основной на
достаточно долгий период времени (как
изначально планировалось, на 20-30 лет,
что оказалось утопией), отечественной
серии —Единой
Системы ЭВМ (ЕС ЭВМ)

путем копирования американских
компьютеров серии IBM 360. Соответственно,
все базовое системное программное
обеспечение, в том числе и ОС, также было
адаптировано к использованию
в СССР (либо использовалось в оригинальном
виде – с сообщениями на английском
языке и т.д.). Это решение вызвало большие
проблемы с финансированием у разработчиков
отечественных архитектур компьютеров.
Это также вызвало большие сложности у
пользователей и разработчиков программного
обеспечения, так как далеко не все хорошо
владели английским языком (ныне в этом
последнем отношении ситуация гораздо
лучше). Появились, например, системы-обертки,
обеспечивающие русскоязычный интерфейс:
с их помощью все задания для ЕС писались
с использованием русскоязычной мнемоники,
затем конвертировались в англоязычный
Job Control Language (язык управления заданиями
IBM 360), а все сообщения, выдаваемые в
качестве результатов, переводились на
русский язык. Это было интересным
подходом, однако не прижилось. Документация
по IBM 360 постепенно была переведена на
русский язык, появилась русскоязычная
справочная и учебная литература по ЕС
ЭВМ. К сожалению, отечественные аналоги
аппаратуры IBM 360 – машины серии ЕС ЭВМ
– оказались гораздо менее надежными,
чем их прототипы. В течение еще нескольких
лет было принято еще одно правительственное
решение – об аналогичном копировании
американских миникомпьютеров серий
PDP 10 и PDP 11, под общим названием «Система
Мини-ЭВМ» (СМ ЭВМ). Были выпущены
компьютеры этой серии СМ-1, СМ-2, СМ-3 и
СМ-4. Были и другие аналогичные работы
по копированию зарубежных архитектур
компьютеров и выпуске на этой основе
отечественных аналогов. Фактически,
можно сказать, что, благодаря подобному
подходу, срок использования зарубежных
ОС в СССР и в России был продлен не менее
чем на 15-20 лет, что просто беспрецедентно.
Копирование машин IBM 360 и PDP, с одной
стороны, дало возможность советским
программистам освоить новые развитые
операционные системы, языки программирования,
библиотеки программ, с другой – отбросило
нашу отечественную вычислительную
технику еще дальше назад. Один из
классиков компьютерной науки, профессор
Эдсгер Дейкстра (E. Dijkstra) в 1977 г. на научном
семинаре в Ленинграде в АН СССР не без
иронии заметил, что «решение русских
о копировании IBM-360 можно считать серьезной
победой США в холодной войне».

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

Особенности
операционных систем для компьютеров
общего назначения (mainframes)

Пакетный
режим.
Более
подробное рассмотрение операционных
систем начнем с особенностей ОС для
mainframes.

Один
из основных режимов работы ОС – пакетный
режим (batch mode)

режим пропуска и одновременной обработки
пользовательских заданий
(jobs)
– программ, введенных с внешнего носителя
или с терминала, с учетом их приоритетов
и требуемых ими ресурсов. При этом ОС
пытается максимально сэкономить время
пропуска пакета заданий, формируя их
оптимальным образом, — например, запускать
на процессоре короткое задание, пока
более длинное выполняет ввод-вывод.

Уже
в самых первых ОС была реализована
другая основная возможность — автоматическая
передача управления от одного задания
к другому при завершении или прекращении
предыдущего задания. Для этого ОС
использует резидентный
(постоянно
находящийся в памяти по фиксированным
адресам) монитор

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

Распределение
памяти в однозадачной ОС с пакетной
обработкой заданий

Рис.
2.1.
 
Распределение памяти в простой системе
пакетной обработки

Оно
очень простое: операционная система
занимает постоянно смежную область
памяти (например, по меньшим адресам),
остальная область памяти отдана
пользовательской программе. Такая
операционная система является однозадачной

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

ОС
пакетной обработки с поддержкой
мультипрограммирования

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

Рис.
2.2.
 
Распределение памяти в системе пакетной
обработки с поддержкой мультипрограммирования

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

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

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

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

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

дробление свободной памяти на мелкие
участки, вследствие неточного совпадения
размеров свободных и требуемых участков
памяти и др. Все эти проблемы и общепринятые
алгоритмы их решения
подробно описаны в классической
монографии Д. Кнута [15]
и будут рассмотрены подробно в курсе.

Планирование
загрузки процессора (CPU scheduling)

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

Управление
внешними устройствами и буферизация
ввода-вывода
.
В однозадачном режиме загруженная в
память пользовательская программа для
вывода на печать могла выполнить
специальную машинную команду, которая
выводила на устройство печати очередную
строчку, что не вызывало проблем и не
приводило к какой-либо путанице,
вследствие монопольности «владения»
компьютером очередным заданием. Однако
в мультипрограммном режиме ситуация
иная. Если сохранить тот же режим вывода
на печать, то на печатающее устройство
могут быть выведены фрагменты,
принадлежащие разным заданиям, что
недопустимо. Для группировки и отделения
выводимой информации различных заданий
друг от друга в мультипрограммной ОС
используется
буферизация
вывода (spooling)

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

Режим
разделения времени и особенности ОС с
режимом разделения времени

Когда
в составе компьютерных систем появились
терминалы (вначале телетайпы, затем
дисплеи), возникла необходимость
реализации в ОС режима
разделения времени (time sharing)

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

Хранение
заданий в памяти или на диске.
Ресурсы
процессора в ОС с разделением времени
распределены между несколькими заданиями,
находящимися в памяти или на диске.
Задание загружается в память (при наличии
свободной памяти), если оно является
пакетным и выбрано операционной системой
для выполнения, либо если оно активируется
пользователем с терминала. Процессор
выделяется только тем заданиям, которые
находятся в памяти.

Откачка
и подкачка (swapping) —
загрузка
заданий с диска в память и их выгрузка
из памяти на диск. В системе с разделением
времени возможна ситуация, когда
какое-либо задание, управляемое с
терминала, неактивно (например, выполняет
ввод-вывод, либо система ожидает ответа
от пользователя, у которого в данный
момент перерыв в работе). В этом случае
ОС может принять решение о временной
выгрузке
(swap out)
образа
памяти задания из оперативной памяти
на диск, с целью освобождения памяти
для других заданий. При повторной
активизации задания оно (при возможности)
вновь загружается в память (swapped
in
).
Подобная стратегия называется откачкой
и подкачкой.

Поддержка
диалогового взаимодействия между
пользователем и системой
.
Когда ОС завершает исполнение
пользовательской команды, она выполняет
поиск следующего управляющего
оператора (control statement),
введенного
с пользовательской клавиатуры.

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

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

Режим
разделения времени, наряду с пакетным
режимом, был основным в операционных
системах 1960-х – 1970х- гг.

Соседние файлы в папке все лекции по ОС

  • #

    04.06.2015219.14 Кб14415.doc

  • #

    04.06.2015686.08 Кб14816.doc

  • #

    04.06.2015406.53 Кб15417.doc

  • #

    04.06.2015770.56 Кб16418.doc

  • #

    04.06.2015697.86 Кб16119.doc

  • #

    04.06.2015169.47 Кб1382.doc

  • #

    04.06.2015781.31 Кб14120.doc

  • #

    04.06.2015580.61 Кб19421.doc

  • #

    04.06.2015334.85 Кб14922.doc

  • #

    04.06.2015506.37 Кб16523.doc

  • #

In this article, we will be looking into the major difference between UNIX and Windows Operating System.

 UNIX : 

UNIX is a powerful, multi-user, and multitasking operating system originally developed at AT & T Bell Laboratories. This operating system is very popular among the scientific, engineering, and academic due to its most appreciated features like flexibility, portability, network capabilities, etc. 

 Windows :

Microsoft window is a Graphical User Interface (GUI) based operating system that provides graphical user-friendly alternatives for most of the command-line based functions. Microsoft introduced a series of versions with the latest functions. 

Difference between UNIX and Windows Operating System : 

Here we will discuss the various differences between UNIX and Windows operating systems, based on various parameters.

1. Licensing:

UNIX was developed as an open-source OS using C and Assembly languages. Since being open source UNIX, and its various Linux distributions account for the most used OS in the world.  Unix and all its Linux distributions are available under the General Public License.

Windows Operating System is proprietary software owned by Microsoft, meaning its source code is not available to the public.

2. User Interface:

Unix operating systems are relatively harder to grasp and produce significant barriers for newcomers. However, some Linux distributions like Ubuntu are changing such perceptions by bringing in more GUI-based applications.

Windows Operating System on the other hand is designed with the outset of keeping the UI as simple and user-friendly as possible, so that non-IT people can easily use computers for their work.

3. Processing:

UNIX operating system supports Multiprocessing, meaning many processes are executed simultaneously. In Multiprocessing, every process has a separate address space and CPUs can be added for increasing computing power.

Windows Support Multithreading, meaning many threads are created from a single process for increasing computing power. In multithreading, many threads of a process are executed simultaneously where common address space is shared by all the threads.

4. File System:

UNIX operating system uses STD.ERR and STD.IO file systems or the UFS (Unix File System) and treats all physical drives as one logical drive. It has a robust and efficient file system. File system is represented as a hierarchical tree under the same root.

Windows on the other hand, uses File Allocation Table (FAT32) and New Technology File System(NTFS) systems for managing files and requires the owner of the executables before executing, files store in folders on different data drive like, C,D,E.

5. Users Accounts:

In the Linux system, there are three types of user accounts:

  • Regular: These accounts have the moderate privilege to intended for routine works, it can perform only the task for access only those files and services for which it is authorized.
  • Root: This account is the main user account of a Linux system, it has the highest privilege to work administrative level work to manage all the services. This is also known as superusers.
  • Service: This account is generally used by services to run the process.

In Windows, there are three types of user accounts:

  • Administrator: This account controls all the services and allows user to make changes and check the activities of other users
  • Child: This account comes with Family Safety settings which is assigned by the admin.
  • Guest: This account has no standard accounts with no privacy, it allows to other people use your computer without being able to change PC settings and install applications.

6. File Name Convention:

In Linux, we can save two files with the same name.

But in windows, we can not save with the same name. It generates errors:

7. Security:

UNIX is more secure by design. The primary protection on a Unix system is that executing a “.exe” file is much more difficult. Here executables cannot be processed without explicit permission as all processes in Unix are treated equally. But these are slowly changing as Unix distributions are moving more towards GUI and now relying on the application security itself. 

Another advantage of Unix systems is that getting rid of viruses is easier, as viruses can only infect user accounts and the root remains intact and pure.

Windows is less secure in the sense that it is simple to execute files with minimal permission. These can further lead to the installation of Malwares unknowingly on the system.

8. Data Backup & Recovery:

In the earlier version of UNIX, salvaging data from a system when the device housing the said data is inaccessible, was not possible. But in some distributions of Linux like Ubuntu, a new feature is introduced called Live distribution can be used to recover data from an inaccessible device.

Recovery and Backup of data in the Windows system are much simpler and can be done using its inbuilt GUI for the same. It has an integration with OneDrive for data backup and recovery too.

9. Case Sensitivity:

Unix is completely case-sensitive, meaning the files with names “GFG.txt” and “gfg.txt” can be considered two different files. Windows, on the other hand, have optional case sensitivity.

10. Hardware:

Hardware support is limited in UNIX systems. Some hardware might not have drivers built for them. Windows has almost all the drivers for all the available hardware.

11. Reliability:

Unix is known for being very stable to run. Although the stability of Windows has significantly improved in recent years, most Unix systems are still far superior in this respect.

S. No. Parameters UNIX Windows
1. Basic It is a command-based operating system. It is a menu based operating system.
2. Licensing It is an open-source system which can be used to under General Public License. It is a proprietary software owned by Microsoft.
3. User Interface It has a text base interface, making it harder to grasp for newcomers. It has a Graphical User Interface, making it simpler to use.
4. Processing It supports Multiprocessing. It supports Multithreading.
5. File System It uses Unix File System(UFS) that comprises STD.ERR and STD.IO file systems. It uses File Allocation System (FAT32) and New technology file system(NTFS).
6. Security It is more secure as all changes to the system require explicit user permission.  It is less secure compared to UNIX.
7. Data Backup & Recovery It is tedious to create a backup and recovery system in UNIX, but it is improving with the introduction of new distributions of Unix. It has an integrated backup and recovery system that make it simpler to use.
8.  Hardware Hardware support is limited in UNIX system. Some hardware might not have drivers built for them. Drivers are available for almost all the hardware.
9. Reliability Unix and its distributions are well known for being very stable to run.  Although Windows has been stable in recent years,  it is still to match the stability provided by Unix systems.
10. Case Sensitive It is fully case-sensitive, and files can be considered separate files.  It has case sensitivity as an option.

In this article, we will be looking into the major difference between UNIX and Windows Operating System.

 UNIX : 

UNIX is a powerful, multi-user, and multitasking operating system originally developed at AT & T Bell Laboratories. This operating system is very popular among the scientific, engineering, and academic due to its most appreciated features like flexibility, portability, network capabilities, etc. 

 Windows :

Microsoft window is a Graphical User Interface (GUI) based operating system that provides graphical user-friendly alternatives for most of the command-line based functions. Microsoft introduced a series of versions with the latest functions. 

Difference between UNIX and Windows Operating System : 

Here we will discuss the various differences between UNIX and Windows operating systems, based on various parameters.

1. Licensing:

UNIX was developed as an open-source OS using C and Assembly languages. Since being open source UNIX, and its various Linux distributions account for the most used OS in the world.  Unix and all its Linux distributions are available under the General Public License.

Windows Operating System is proprietary software owned by Microsoft, meaning its source code is not available to the public.

2. User Interface:

Unix operating systems are relatively harder to grasp and produce significant barriers for newcomers. However, some Linux distributions like Ubuntu are changing such perceptions by bringing in more GUI-based applications.

Windows Operating System on the other hand is designed with the outset of keeping the UI as simple and user-friendly as possible, so that non-IT people can easily use computers for their work.

3. Processing:

UNIX operating system supports Multiprocessing, meaning many processes are executed simultaneously. In Multiprocessing, every process has a separate address space and CPUs can be added for increasing computing power.

Windows Support Multithreading, meaning many threads are created from a single process for increasing computing power. In multithreading, many threads of a process are executed simultaneously where common address space is shared by all the threads.

4. File System:

UNIX operating system uses STD.ERR and STD.IO file systems or the UFS (Unix File System) and treats all physical drives as one logical drive. It has a robust and efficient file system. File system is represented as a hierarchical tree under the same root.

Windows on the other hand, uses File Allocation Table (FAT32) and New Technology File System(NTFS) systems for managing files and requires the owner of the executables before executing, files store in folders on different data drive like, C,D,E.

5. Users Accounts:

In the Linux system, there are three types of user accounts:

  • Regular: These accounts have the moderate privilege to intended for routine works, it can perform only the task for access only those files and services for which it is authorized.
  • Root: This account is the main user account of a Linux system, it has the highest privilege to work administrative level work to manage all the services. This is also known as superusers.
  • Service: This account is generally used by services to run the process.

In Windows, there are three types of user accounts:

  • Administrator: This account controls all the services and allows user to make changes and check the activities of other users
  • Child: This account comes with Family Safety settings which is assigned by the admin.
  • Guest: This account has no standard accounts with no privacy, it allows to other people use your computer without being able to change PC settings and install applications.

6. File Name Convention:

In Linux, we can save two files with the same name.

But in windows, we can not save with the same name. It generates errors:

7. Security:

UNIX is more secure by design. The primary protection on a Unix system is that executing a “.exe” file is much more difficult. Here executables cannot be processed without explicit permission as all processes in Unix are treated equally. But these are slowly changing as Unix distributions are moving more towards GUI and now relying on the application security itself. 

Another advantage of Unix systems is that getting rid of viruses is easier, as viruses can only infect user accounts and the root remains intact and pure.

Windows is less secure in the sense that it is simple to execute files with minimal permission. These can further lead to the installation of Malwares unknowingly on the system.

8. Data Backup & Recovery:

In the earlier version of UNIX, salvaging data from a system when the device housing the said data is inaccessible, was not possible. But in some distributions of Linux like Ubuntu, a new feature is introduced called Live distribution can be used to recover data from an inaccessible device.

Recovery and Backup of data in the Windows system are much simpler and can be done using its inbuilt GUI for the same. It has an integration with OneDrive for data backup and recovery too.

9. Case Sensitivity:

Unix is completely case-sensitive, meaning the files with names “GFG.txt” and “gfg.txt” can be considered two different files. Windows, on the other hand, have optional case sensitivity.

10. Hardware:

Hardware support is limited in UNIX systems. Some hardware might not have drivers built for them. Windows has almost all the drivers for all the available hardware.

11. Reliability:

Unix is known for being very stable to run. Although the stability of Windows has significantly improved in recent years, most Unix systems are still far superior in this respect.

S. No. Parameters UNIX Windows
1. Basic It is a command-based operating system. It is a menu based operating system.
2. Licensing It is an open-source system which can be used to under General Public License. It is a proprietary software owned by Microsoft.
3. User Interface It has a text base interface, making it harder to grasp for newcomers. It has a Graphical User Interface, making it simpler to use.
4. Processing It supports Multiprocessing. It supports Multithreading.
5. File System It uses Unix File System(UFS) that comprises STD.ERR and STD.IO file systems. It uses File Allocation System (FAT32) and New technology file system(NTFS).
6. Security It is more secure as all changes to the system require explicit user permission.  It is less secure compared to UNIX.
7. Data Backup & Recovery It is tedious to create a backup and recovery system in UNIX, but it is improving with the introduction of new distributions of Unix. It has an integrated backup and recovery system that make it simpler to use.
8.  Hardware Hardware support is limited in UNIX system. Some hardware might not have drivers built for them. Drivers are available for almost all the hardware.
9. Reliability Unix and its distributions are well known for being very stable to run.  Although Windows has been stable in recent years,  it is still to match the stability provided by Unix systems.
10. Case Sensitive It is fully case-sensitive, and files can be considered separate files.  It has case sensitivity as an option.

Предложите, как улучшить StudyLib

(Для жалоб на нарушения авторских прав, используйте

другую форму
)

Ваш е-мэйл

Заполните, если хотите получить ответ

Оцените наш проект

1

2

3

4

5

Понравилась статья? Поделить с друзьями:
  • Популярные видео проигрыватели для windows 10
  • Популярные браузеры для windows 7 скачать бесплатно
  • Попробуйте вручную удалить цветовой профиль srgb windows
  • Порядок переустановки windows 10 с диска
  • Порядок загрузочных устройств в bios windows 10