Linux
Linux — это семейство операционных систем (ОС), работающих на основе одноименного ядра. Нет одной операционной системы Linux, как, например, Windows или MacOS. Есть множество дистрибутивов (набор файлов, необходимых для установки ПО), выполняющих конкретные задачи.
Линус Торвальдс — первый разработчик и создатель Linux. Именно в честь него и была названа ОС. В 1981 году Линус начал работу над собственной ОС семейства Unix. Через три года появилась первая версия, доступная для скачивания. Но тогда она имела очень низкий спрос — ей пользовались буквально несколько человек.
Только через 10 лет ОС Linux получила широкое распространение. Сообщество программистов подхватило идею свободного ПО, специалисты стали помогать развивать проект.
Появление первых операционных систем
Эволюция системного программного обеспечения и операционных систем, в частности, напрямую связана с эволюцией аппаратных средств вычислительной техники, а именно с появлением новой элементной базы, на которой строилось каждое новое поколение компьютеров.
В середине 1940-х гг. были созданы первые ламповые вычислительные устройства. Для этих устройств характерно то, что одна и та же группа людей участвовала и в их проектировании, и в дальнейшей их эксплуатации, и в программировании. Это была скорее научно-исследовательская работа в области вычислительной техники, а не использование компьютеров в качестве инструмента решения каких-либо практических задач из других прикладных областей. Программирование осуществлялось исключительно в машинных кодах (кодах операций, выполняемых определенным компьютером). Не было никакого системного программного обеспечения, кроме библиотек математических и служебных подпрограмм, которые программист мог использовать для того, чтобы не писать каждый раз коды, вычисляющие значение какой-либо математической функции или управляющие стандартным устройством ввода-вывода. Операционных систем еще не было, все задачи организации вычислительного процесса решались вручную с пульта управления. Компьютеры выпускались единичными опытными экземплярами и были крайне громоздкими и ненадежными.
С середины 1950-х гг., с появлением новой элементной базы — полупроводниковых приборов, начался новый период в развитии вычислительной техники. Это позволило повысить быстродействие процессоров, увеличить объемы оперативной и внешней памяти. Компьютеры стали более надежными, время их непрерывной работы существенно увеличилось, что дало возможность возложить на них выполнение практически важных задач. Компьютеры стали выпускаться малыми сериями.
Наряду с совершенствованием аппаратуры, появились успехи в области автоматизации программирования и организации вычислительных работ. Появились первые алгоритмические языки, и к существующим библиотекам математических и служебных подпрограмм добавился новый тип системного программного обеспечения — трансляторы, которые предназначались для перевода программ, написанных на алгоритмическом языке (языке высокого уровня), в машинные коды, понятные компьютеру.
Выполнение каждой программы стало включать большое количество вспомогательных работ: набивку текста программы; загрузку нужного транслятора (АЛГОЛ, ФОРТРАН, КОБОЛ и т.п.); запуск транслятора и получение результирующей программы в машинных кодах; связывание программы с библиотечными подпрограммами и другими, если это необходимо, оттранслированными частями программы (компоновка); загрузку программы в оперативную память; запуск программы и вывод полученных результатов на периферийное устройство. Для организации эффективной работы компьютеров и их эффективного использования произошло разделение труда между сотрудниками вычислительного центра: кто-то писал программы; кто-то занимался вопросами, связанными с обслуживанием вычислительной техники и ее эксплуатацией, а организацией вычислительного процесса занимался специальный сотрудник — оператор ЭВМ.
Но как бы быстро и надежно ни работали операторы, они никак не могли состязаться в производительности с работой устройств компьютера. Большую часть времени процессор простаивал в ожидании, пока оператор запустит очередную задачу. А поскольку процессор представлял собой весьма дорогое устройство, то низкая эффективность его использования означала низкую эффективность использования компьютера в целом. Для решения этой проблемы были разработаны первые системы пакетной обработки, которые автоматизировали всю последовательность действий оператора по организации вычислительного процесса.
Оператор составлял пакет заданий, которые в дальнейшем без его участия последовательно запускались на выполнение управляющей программой — монитором. Кроме того, монитор был способен самостоятельно обрабатывать наиболее часто встречающиеся при работе пользовательских программ аварийные ситуации, такие как отсутствие исходных данных, переполнение регистров, деление на ноль, обращение к несуществующей области памяти и т.д.
Ранние системы пакетной обработки явились прообразом современных операционных систем, они стали первыми системными программами, предназначенными не для обработки данных, а для управления вычислительным процессом.
Системы пакетной обработки значительно сократили затраты времени на вспомогательные действия по организации вычислительного процесса, и тем самым была повышена эффективность использования компьютера в целом. Однако при этом программисты-пользователи лишились непосредственного доступа к компьютеру, что снижало эффективность их работы, — внесение любого исправления требовало значительно больше времени, чем при интерактивной работе за пультом управления компьютера.
Windows – это самая распространенная ОС на земле
Все ругают семейство этих операционных систем за «прожорливость» к ресурсам компьютера, низкую стабильность работы и утомляющую загрузку обновлений. Тем не менее этой ОС пользуются более 90% пользователей. И этому есть объяснение.
У Windows есть масса преимуществ перед конкурентами, приведем некоторые из них:
- надежная поддержка железа (видеокарт, аудиокарт, принтеров, видеокамер и т.д.);
- легкость в установке приложений и программ (программа скачивается, а затем устанавливается, кликнув два раза мышкой по установщику);
- дружелюбный интерфейс, использовать ОС в быту легко, освоит и ребенок (интуитивно понятный);
- большой выбор программ для windows (игры, графические и текстовые редакторы, антивирусы и т.д.).
Здесь перечислены основные достоинства, они дают объяснение, почему пользователи выбирают эту ОС.
Но существуют и некоторые минусы:
- долгая загрузка ОС;
- постоянные перезагрузки и необходимость установки обновлений (чтобы обеспечивать безопасность);
- возможная потеря данных или работоспособности компьютера при попадании вируса в систему.
Как видим, преимуществ больше, а главное заключается в удобстве.
Каждый пользователь без проблем способен в ней разобраться за пару часов, в этом секрет популярности.
Какая история создания у операционной системы Windows
Операционная система — это главная программа компьютера. Это целая совокупность программ, загруженных в память электронно-вычислительной машины. Они координируют управление устройствами компьютера, и с их помощью обеспечивается взаимодействие с пользователем, т.е. человеком. Без операционной системы невозможно было бы даже включить компьютер.
- Какая история создания у операционной системы Windows
- Как создали операционную систему Windows
- Какие существуют операционные системы
- Старенький ПК на MS-DOS и Windows.
Для изучения истории создания Windows следует вспомнить о создании Microsoft. Название Windows неразрывно связано с именем многомиллиардной корпорации, владеющей правами на продажу этого программного обеспечения во всем мире. Разработка Windows началась в 1980 году в США. Владельцы маленькой фирмы под названием Micro-Soft (в переводе с английского означает– «микро-мягкие») Пол Ален и Билл Гейтс занимались в том время разработкой программных продуктов для первых появившихся ЭВМ. Их успехами заинтересовались в IBM, корпорации-лидере на рынке электронных устройств того времени.
Летом 1980 года состоялась встреча Micro-Soft с представителями IBM. Люди из IBM рассказали о планах их корпорации по созданию персональных компьютеров и выразили интерес к покупке таких продуктов, как Basic, Fortran, Cobol. Но главным итогом встречи стал заказ IBM на разработку операционной системы для нового компьютера, т.е. программы – начальника, раздающего полномочия другим подпрограммам. Так началась работа по созданию IBM PC, компьютера потрясшего и изменившего весь мир.
Компания назвала свою новую операционную систему MS-DOS, что означает Microsoft Disk Operating System (дисковая операционная система Майкрософт). 1981 году был выпущен первый IBM PC под управлением MS-DOS.
Если вы найдете и включите компьютер, выпущенный в те годы, то увидите синий или черный экран с мигающим курсором, ждущим ввода команды. Операционная система MS-DOS оказалась весьма удачной, но освоить ее было достаточно сложно. Было ясно, что в первую очередь следует улучшить способы работы с операционной системой.
В то время Micro-Soft – уже переименованные в Microsoft без дефиса – работали над целым рядом задач по разработке графических модулей для Basic и графического интерфейса для компьютеров, производимых компанией Xerox. В конце 1982 года появилась идея о построении графического интерфейса и для текстовой MS-DOS.
Релиз первой Microsoft Windows был анонсирован на выставке Comdex 10 ноября 1983 г, но выпущена операционная система была только осенью 1985г. Окончательная версия появилась 20 ноября 1985 года, ее появление перевернуло все стереотипы о работе с операционной системой тех лет. Windows 1.0 впервые предусматривала использование мыши для системной навигации, а также различные функции и приложения: MS-DOS файловый менеджер, календарь, калькулятор, блокнот, часы и программу- органайзер. Спрос на новый продукт был столь высок, что для выпуска следующей версии Microsoft наняла на работу 55 программистов за один год.
Краткая история развития операционных систем
Первые ЭВМ были построены и нашли практическое применение в 40-е годы XX века. Первоначально они использовались для решения единственной частной задачи – расчет траектории артиллерийских снарядов в системах ПВО. В силу специфики применения (решение единственной задачи), первые ЭВМ не использовали ни какой операционной системы. В тот период времени, решением задач на ЭВМ занимались в основном сами же разработчики ЭВМ, а процесс использования ЭВМ представлял собой не столько решение прикладной задачи, сколько исследовательскую работу в области вычислительной техники.
BIOS – первый шаг к созданию операционных систем
Вскоре ЭВМ начали успешно применять для решения других задач: анализ текстов и решение сложных прикладных задач из области физики. Круг потребителей услуг ЭВМ несколько расширился. Однако, для решения каждой конкретной задачи в то время необходимо было написать заново не только код, реализующий алгоритм решения, но и процедуры ввода-вывода и другие процедуры управления процессом вычисления. Существенные издержки такого подхода вскоре стали очевидными:
— код процедур ввода вывода обычно является довольно объемным и сложным в отладке (нередко он оказывался самым большим фрагментом программы), а в случае ошибки в процедуре ввода-вывода могли быть легко потеряны результаты длительных и дорогостоящих вычислений;
— необходимость каждый раз заново писать довольно большой вспомогательный код затягивает время и повышает трудоемкость разработки прикладных программ.
Поэтому для разрешения указанных проблем были созданы специальные библиотеки процедур ввода-вывода (BIOS – Base Input-Output System). Тщательно отлаженные и эффективные процедуры из BIOS можно было легко использовать с любыми новыми программами, не затрачивая время и силы на разработку и отладку стандартных процедур для ввода и вывода данных.
Таким образом, с появлением BIOS программное обеспечение разделилось на системное и прикладное программное обеспечение. Причем прикладное программное обеспечение непосредственно ориентировано на решение полезных задач, в то время как системное программное обеспечение ориентировано исключительно на поддержку работы и упрощение разработки прикладного программного обеспечения.
Однако, BIOS еще не является операционной системой, т.к. не выполняет важнейшую для любой операционной системы функцию – управление процессом вычислений прикладной программы. Кроме того, BIOS не обеспечивает и другие важные функции операционной системы – хранение и запуск прикладных программ. BIOS и библиотеки математических процедур, которые появились примерно в то же время, просто облегчали процесс разработки и отладки прикладных программ, делали их более простыми и надежными. Тем не менее, создание BIOS стало первым шагом на пути к созданию полноценной операционной системы.
Система пакетной обработки – прообраз современной операционной системы
По мере дальнейшего развития электронно-вычислительных машин, с расширением сферы их применения, на первый план быстро вышла проблема недостаточной эффективности использования дорогостоящей ЭВМ.
В 50-е годы персональных компьютеров еще не было, и любая ЭВМ была очень дорогой, громоздкой и относительно редкой машиной. Для доступа к ней со стороны различных научных учреждений составлялось специальное расписание. К указанному времени программист должен был прийти в машинный зал, загрузить свою задачу с колоды перфокарт, дождаться завершения вычислений и распечатать результаты.
При использовании жесткого расписания, если программист не успевал закончить расчеты за отведенное время, он все равно должен был освободить машину, так как для нее была запланирована новая задача. Но это означает, что машинное время было затрачено впустую – результатов то не получено! Если же по какой либо причине расчеты завершались раньше ожидаемого срока, то машина просто простаивала.
Для того, чтобы избежать потерь процессорного времени, неизбежных при работе по расписанию, была разработана концепция пакетной обработки заданий, сущность которой поясняет следующий рисунок (Рисунок 1).
Рисунок 1 Структура вычислительной системы с пакетной обработкой
Впервые, пакетная система была разработана в середине 50-х компанией General Motors для машин IBM 701. По-видимому, это была первая операционная система. Основная идея пакетной обработки состоит в том, чтобы управление загрузкой программ и распечатку результатов поручить маломощным и относительно дешевым машинам-сателлитам, которые подключаются к большой (основной) машине через высокоскоростные электронные каналы. При этом большая ЭВМ будет только решать задачу, полученную от машины-сателлита, и после завершения задачи передавать результаты по высокоскоростному каналу другой машине-сателлиту для распечатки.
Машины сателлиты работают самостоятельно, освобождая центральный процессор от необходимости управления медленными внешними устройствами. При этом распечатка результатов предыдущей задачи может происходить в ходе решения текущей задачи, и одновременно в электронную память машины-сателлита может считываться следующая задача. Такая организация системы пакетной обработки заданий известна как простая пакетная система.
Системы пакетной обработки заданий, реализованные в 50-е годы, стали прообразом современных операционных систем. В них впервые было реализовано программное обеспечение, используемое для управления исполнением прикладных программ.
Заметим здесь также, что описанный подход к построению H/W вполне сохранился до настоящего времени. Современные периферийные устройства, и, прежде всего, это накопители на жестких магнитных дисках, способны передавать большие объемы данных без участия центрального процессора. Забегая вперед, укажем, что только благодаря такому свойству аппаратуры компьютера существуют и эффективно работают современные многозадачные операционные системы.
Многозадачные операционные системы
Первые многозадачные операционные системы появились в 60-е годы в результате дальнейшего развития систем пакетной обработки заданий. Основным стимулом к их появления стали новые аппаратные возможности ЭВМ.
Во-первых, появились новые эффективные носители информации, на которых можно было легко автоматизировать поиск требуемых данных: магнитные ленты, магнитные цилиндры и магнитные диски. Это, в свою очередь, изменило структуру прикладных программ – теперь они могли в процессе работы загрузить дополнительные данные для вычислений или процедуры из стандартных библиотек.
Заметим теперь, что простая пакетная система, приняв задачу, обслуживает ее вплоть до полного завершения, а это значит, что во время загрузки дополнительных данных или кода процессор простаивает, при этом стоимость простоя процессора возрастает с ростом его производительности, так как более производительный процессор мог бы сделать за время простоя большее количество полезной работы.
Во-вторых, производительность процессоров существенно возросла, и потери процессорного времени в простых пакетных системах стали недопустимо велики.
В этой связи логичным шагом стало появление многозадачных пакетных систем. Необходимым условием для создания многозадачных систем является достаточный объем памяти компьютера. Для многозадачности объем памяти должен быть достаточен для размещения, по крайней мере, двух программ одновременно.
Основная идея многозадачности вполне очевидна – если текущая программа приостанавливается в ожидании завершения ввода-вывода, то процессор переходит к работе с другой программой, которая в данный момент готова к выполнению.
Однако, переход к другой задаче должен быть сделан так, чтобы сохранить возможность вернуться к брошенной задаче спустя некоторое время и продолжить ее работу с точки останова. Для реализации такой возможности в операционную систему потребовалось ввести специальную структуру данных, определяющую текущее состояние каждой задачи – контекст процесса. Контекст процесса определен в любой современной операционной системе таким образом, чтобы данных из него было бы достаточно для полного восстановления работы прерванной задачи.
Появление многозадачности потребовало реализации в составе операционной системы сразу нескольких фундаментальных подсистем, которые также представлены в любой современной операционной системе. Перечислим их:
1) подсистема управления процессорами – определяет какую задачу и в какое время следует передать процессору для обслуживания;
2) подсистема управления памятью – обеспечивает бесконфликтное использование памяти сразу несколькими программами;
3) подсистема управления процессами – обеспечивает бесконфликтное разделение ресурсов компьютера (например, магнитных дисков или общих подпрограмм) сразу несколькими программами.
В рамках этого курса будет подробно рассмотрена реализация указанных подсистем в современных операционных системах.
Почти сразу после появления многозадачных операционных систем, было замечено, что многозадачность полезна не только для повышения коэффициента использования процессора. Например, на основе многозадачности можно реализовать многопользовательский режим работы компьютера, т.е. подключить к нему несколько терминалов одновременно, причем для пользователя за каждым терминалом будет создана полная иллюзия, что он работает с машиной один. До эпохи массового использования персональных компьютеров, многопользовательский режим был основным режимом работы практически для всех ЭВМ. Повсеместная поддержка многопользовательского режима резко расширила круг пользователей компьютеров, сделала его доступным для людей различных профессий, что в конечном итоге и привело к современной компьютерной революции и появлению ПК.
При этом в зависимости от алгоритмов, положенных в основу работы подсистемы управления процессорами, операционная система, а с ней и вся ЭВМ, приобретает различные свойства. Например, многозадачная пакетная система, переключающаяся на другую задачу только при невозможности продолжить текущую, способна обеспечить максимальную пропускную способность компьютера, т.е. максимизировать среднее число задач, решаемых в единицу времени, но из-за непредсказуемости времени ответа многозадачная пакетная система совершенно не подходит для интерактивной системы, немедленно реагирующей на пользовательский ввод.
Многозадачная система с принудительным вытеснением задачи по истечению кванта времени идеально подходит для интерактивной системы, но не обеспечивает максимальной производительности для вычислительных задач.
При изучении темы «управление процессорами» в рамках данного курса будут рассмотрены особенности многих конкретных алгоритмов, показаны компромиссные решения, подходящие для универсальных операционных систем, ориентированных на решение широкого круга задач.
В качестве вывода отметим, что появление многозадачности было вызвано желанием максимально использовать процессор, исключив по возможности его простои, и в настоящее время многозадачность является неотъемлемым качеством практически любой современной операционной системы.
Операционные системы с поддержкой виртуальной памяти
Появление системы виртуальной памяти в конце 60-х, стало последним шагом на пути к современным операционным системам. Появление в дальнейшем графических пользовательских интерфейсов и даже поддержка сетевого взаимодействия уже не были столь революционными решениями, хотя и существенно повлияли и на развитие аппаратуры компьютеров, и на развитие самих операционных систем.
Толчком к появлению виртуальной памяти стали сложности управления памятью в многозадачных операционных системах. Основные проблемы здесь следующие:
— Программы, как правило, требуют для своего размещения непрерывную область памяти. В ходе работы, когда программа завершается, она освобождает память, но этот регион памяти далеко не всегда пригоден для размещения новой программы. Он или слишком мал, и тогда для размещения программы приходится искать участок в другой области памяти, или слишком велик, и тогда после размещения новой программы останется неиспользуемый фрагмент. При работе операционной системы, вскоре образуется очень много таких фрагментов – суммарный объем свободной памяти велик, но разместить новую программу не удается так как нет ни одной достаточно длинной непрерывной свободной области. Такое явление называется фрагментацией памяти.
— В случае, когда несколько программ одновременно находятся в общей памяти, ошибочные или преднамеренные действия со стороны какой-либо программы могут нарушить выполнение других программ, кроме того, данные или результаты работы одних программ могут быть несанкционированно прочитаны другими программами.
Как будет показано в рамках данного курса дальше, виртуальная память не только идеально решает подобные проблемы, но также предоставляет новые возможности для дальнейшей оптимизации работы всей вычислительной системы.
Решающей предпосылкой для появления системы виртуальной памяти стал механизм свопинга (от англ. to swap – менять, обменивать).
Идея свопинга состоит в том, чтобы выгружать из ОЗУ во вторичную память (на магнитный диск) программы, временно снятые с выполнения, и загружать их обратно в ОЗУ, когда они становятся готовыми к дальнейшему выполнению. Таким образом, происходит постоянный обмен программами между ОЗУ и вторичной памятью.
Свопинг позволяет освободить место в оперативной памяти для загрузки новых программ за счет выталкивания во вторичную память программ, которые не могут выполняться в данный момент. Свопинг достаточно эффективно решает проблему нехватки оперативной памяти и фрагментации, но не решает проблемы защиты.
Виртуальная память также основана на выталкивании части программ и данных из оперативной памяти во вторичную память, но реализуется гораздо сложнее и требует обязательной поддержки от аппаратных средств процессора. Конкретные механизмы работы виртуальной памяти будут рассмотрены в дальнейшем.
В конечном итоге, система виртуальной памяти организует собственное адресное пространство для каждой запущенной программы, которое называется виртуальное адресное пространство. При этом участки виртуального адресного пространства, по усмотрению операционной системы, могут отображаться либо на участки оперативной памяти, либо на участки вторичной памяти (см. Рисунок 2).
Рисунок 2 Отображение виртуального адресного пространства
При использовании виртуальной памяти, программы не смогут ошибочно или преднамеренно обратиться к данным других программ или самой операционной системы – подсистема виртуальной памяти гарантирует защиту данных. Кроме того, неиспользуемые в данный момент области виртуального адресного пространства отображаются во вторичную память, т.е. данные из этих областей хранятся не в ОЗУ, а во вторичной памяти, что решает проблему нехватки оперативной памяти. Наконец, области виртуального адресного пространства могут отображаться на произвольные участки ОЗУ, при этом соседние участки виртуального адресного пространства не обязательно должны быть соседними в ОЗУ, что решает проблему фрагментации.
Как уже было сказано, виртуальная память впервые была использована в реальных операционных системах в конце 60-х, но широкое распространение виртуальная память получила только в 80-х (UNIX, VAX/VMS), а повсеместно стала применяться в персональных компьютерах лишь в середине 90-х годов (OS/2, Linux, Windows NT). В настоящее время, виртуальная память, наряду с многозадачностью, является неотъемлемой частью практически любой современной операционной системы.
Графические интерфейсы пользователя
С конца 80-х, персональные компьютеры получили повсеместное распространение, и в сообщество пользователей ПК оказалось вовлечено множество людей различных специальностей. Многие из них не имели специальной компьютерной подготовки, но хотели использовать компьютер в своей работе, т.к. использование компьютера давало ощутимые преимущества в их деле.
С другой стороны, усложнение операционных систем и прикладных программ сделало управление ими достаточно сложной задачей даже для специалистов, и интерфейс командной строки, который к этому времени стал стандартом для операционных систем, перестал удовлетворять практическим запросам.
Наконец, появились новы аппаратные возможности: цветные графические мониторы, высокопроизводительные графические контроллеры и манипуляторы типа мышь.
Таким образом, в конце 80-х сложились все условия для повсеместного перехода на графический интерфейс пользователя: с одной стороны возникла потребность в более простом и удобном механизме управления компьютером, с другой стороны, развитие аппаратных средств позволяло построить такой механизм.
Основная идея графического интерфейса пользователя состоит в следующем:
— пользователю, в зависимости от текущей ситуации, предлагается выбрать один из нескольких альтернативных вариантов дальнейших действий;
— возможные варианты действий пользователя представлены на экране ЭВМ в виде текстовых строк (меню) или схематичных рисунков (пиктограмм);
— для выбора одного из вариантов дальнейших действий достаточно совместить на экране монитора указатель (курсор) с элементом меню или пиктограммой и нажать заранее определенную клавишу (обычно это , или кнопка мышки), чтобы проинформировать систему о сделанном выборе.
Первый графический интерфейс был разработан в 81 году в компании Xerox. Говорят, что посещение главой компании Microsoft Билом Гейтсом компании Xerox и знакомство с ее разработками в области графических пользовательских интерфейсов, подвигли Microsoft на создание собственных графических интерфейсов пользователя.
В настоящее время наиболее совершенным графическим интерфейсом обладает, по-видимому, операционные системы семейства Windows, эти графические интерфейсы являются как бы стандартов де-факто для графических интерфейсов пользователя.
Использование графического интерфейса оказалось настолько простым и интуитивно понятным, что компьютеры в настоящее время стали эффективно использовать в своей работе люди, которые даже не имеют никакого представления об архитектуре самого компьютера, операционной системы или прикладной программы.
В конечном итоге, появление графических интерфейсов пользователя в составе операционных систем и прикладных программ оказало колоссальное влияние на компьютеризацию современного общества.
Встроенная поддержка сети
Встроенная сетевая поддержка в составе операционных системах общего назначения впервые появилась в середине 90-х, и первоначально обеспечивала только доступ к удаленным файлам, расположенным на дисках другого компьютера. Первоначально, поддержка сети требовалась только в небольших офисах для совместной работы нескольких компьютеров над одним документом.
Однако развитие сети Интернет быстро привело к необходимости встроить сетевую поддержку даже в операционные системы для домашних компьютеров. Кроме того, интересно отметить, что постоянное снижение стоимости домашних компьютеров в последние годы вызвало к жизни домашние компьютерные сети, когда в одной семье используется несколько компьютеров с возможностью совместного использования общего принтера, сканера или другого оборудования.
Вершиной интеграции при сетевом взаимодействии являются сетевые операционные системы, объединяющие ресурсы всех компьютеров сети в общий сетевой ресурс, доступный любому компьютеру сети. Разумное использование сетевой операционной системы позволяет решать сложные переборные или оптимизационные задачи при наличии в сети достаточно большого количества ЭВМ, каждая из которых в отдельности не в состоянии решить задачу за приемлемое время.