Эволюция операционных систем

Вячеслав Дужий

http://life-prog.ru/view_os.php?id=2

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

Последовательная обработка данных

В самых первых компьютерах, в период от конца 40-х до средины 50-х годов, программы непосредственно взаимодействовали с аппаратным обеспечением машины; операционных систем в то время еще не было. Эти компьютеры управлялись с пульта управления, состоящего из сигнальных ламп, тумблеров, некоторого устройства для ввода данных и принтера. Программы, машинные коды и данные загружались через устройство ввода данных (например, устройство ввода с перфокарт). Если из-за ошибки происходил останов программы, о возникновении сбойной ситуации свидетельствовали аварийные сигнальные лампы. Чтобы определить причину ошибки, программист должен был проверить состояние регистров процессора и основной памяти. Если программа успешно завершала свою работу, ее выходные данные распечатывались на принтере.
Ранние системы имели две основные проблемы:

Расписание работы.На большинстве машин нужно было предварительно заказать машинное время, записавшись в специальный график. Обычно пользователь мог заказать время, кратное некоторому периоду, например, получасу. Тогда, записавшись на 1 час, он мог закончить работу за 45 минут, что приводило к простою компьютера. С другой стороны, если пользователь не укладывался в отведенное время, он должен был прекращать работу, прежде чем задача завершит выполнение.

Время подготовки к работе.Для запуска каждой программы, называемой заданием (job), нужно было загрузить в память компилятор и саму программу, обычно составленную на языке высокого уровня (исходный текст), сохранить скомпилированную программу (объектный код), а затем загрузить и скомпоновать объектный код с библиотечными функциями. Для каждого из этих этапов могли понадобиться установка и съем магнитных лент или загрузка колоды перфокарт. При возникновении фатальной ошибки беспомощному пользователю не оставалось ничего другого, как начинать весь подготовительный процесс заново. Таким образом, значительное время затрачивалось лишь на то, чтобы подготовить программу к собственно исполнению.
Такой режим работы можно назвать последовательной обработкой данных. Это название отражает тот факт, что пользовательские программы исполнялись на компьютере последовательно. Спустя некоторое время в попытке повысить эффективность последовательной обработки были разработаны различные системные инструменты. К ним относятся библиотеки функций, редакторы связей, загрузчики, отладчики и драйверы ввода-вывода, существующие в виде программного обеспечения, общедоступного для всех пользователей.

 

Простые пакетные системы

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

Чтобы повысить эффективность работы, была предложена концепция пакетной операционной системы. Похоже, первые пакетные операционные системы (и вообще первые операционные системы какого бы то ни было типа) были разработаны в средине 50-х годов в компании General Motors для машин IBM 701 [WEIZ81]. Впоследствии эта концепция была усовершенствована и внедрена определенным кругом пользователей на IBM 704. В начале 60-х годов некоторые поставщики разработали пакетные операционные системы для своих компьютеров. Одной из заметных систем того времени является IBSYS фирмы IBM, разработанная для компьютеров 7090/7094 и оказавшая значительное влияние на другие системы.
Главная идея, лежащая в основе простых пакетных схем обработки, состоит в использовании программы, известной под названием монитор (monitor). Используя операционную систему такого типа, пользователь не имеет непосредственного доступа к машине. Вместо этого он передает свое задание на перфокартах или магнитной ленте оператору компьютера, который собирает разные задания в пакеты и помещает их в устройство ввода данных. Так они передаются монитору. Каждая программа составлена таким образом, что при завершении ее работы управление переходит к монитору, который автоматически загружает следующую программу.

Чтобы понять работу этой схемы, рассмотрим ее с точки зрения монитора и процессора.

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

Работа схемы с точки зрения процессора. Допустим, в некоторый момент времени процессор исполняет команды, которые находятся в той части основной памяти, которую занимает монитор. Это приводит к тому, что в другую область памяти считывается новое задание. После того как задание полностью считано, монитор отдает процессору команду перехода, по которой он должен начать исполнение программы пользователя. Процессор переходит к обработке программы пользователя и выполняет ее команды до тех пор, пока не дойдет до конца или пока не возникнет сбойная ситуация.
В любом из этих двух случаев следующей командой, которую процессор извлечет из памяти, будет команда монитора. Таким образом, фраза "контроль передается заданию" означает, что процессор перешел к извлечению и выполнению команд программы пользователя. Фраза же "контроль возвращается монитору" означает, что теперь процессор извлекает из памяти и выполняет команды монитора.


Рис. 2.3. Схема размещения резидентного монитора в памяти

Как видите, монитор решает проблему разработкиграфика. Задания в пакетах выстраиваются в очередь и выполняются без простоев настолько быстро, насколько это возможно. Кроме того, монитор помогает в подготовке программы к исполнению. В каждое задание включаются простые команды языка управления заданиями (job control language — JCL). Это специальный тип языка программирования, используемый для того, чтобы отдавать команды монитору. Рассмотрим простой пример, в котором нужно принять на обработку программу пользователя, составленную на языке FORTRAN, и дополнительные данные, используемые этой программой. Все команды языка FORTRAN и данные находятся на отдельных перфокартах или в отдельных записях на магнитной ленте. Каждое задание, кроме операторов языка FORTRAN и данных, содержит команды управления заданием, каждая из которых начинается знаком $. Формат задания в целом выглядит следующим образом:

Чтобы выполнить это задание, монитор читает строку $FTN и загружает с запоминающего устройства большой емкости (обычно это лента) компилятор соответствующего языка. Компилятор преобразует программу пользователя в объектный код, который записывается в память или на запоминающее устройство. Если этот код заносится в память, то операция называется "компиляция, загрузка и запуск". Если же он записывается на магнитную ленту, то нужна дополнительная команда $LOAD. Монитор, к которому вернулось управление после компиляции, читает эту команду и обращается к загрузчику, который загружает объектную программу в память (на место компилятора) и передает ей управление. В таком режиме различные подсистемы совместно используют один и тот же участок основной памяти, хотя в каждый момент времени работает только одна из этих подсистем.

Во время выполнения программы пользователя по каждой команде ввода считывается только одна строка данных. Команда ввода программы пользователя обращается к подпрограмме ввода, которая является составной частью операционной системы. Подпрограмма ввода проверяет, не произошло ли случайное считывание строки языка JCL. Если это произошло, управление передается монитору. При успешном (или неудачном) завершении задания пользователя монитор проверяет строки задания, пока не дойдет до строки с командой на языке управления, что защищает систему от программ, в которых оказалось слишком много или слишком мало строк с данными (иначе очередным заданием могли оказаться излишние данные предыдущего задания, или часть нового задания могла бы рассматриваться как недостающие данные предыдущего задания).
Таким образом, монитор, или пакетная операционная система, — это обычная компьютерная программа. Ее работа основана на способности процессора выбирать команды из различных областей основной памяти; при этом происходит передача и возврат управления. Желательно также использование и других возможностей аппаратного обеспечения.

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

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

Привилегированные команды.Некоторые команды машинного уровня имеют повышенные привилегии и могут исполняться только монитором. Если процессор натолкнется на такую команду во время исполнения программы пользователя, возникнет ошибка, при которой управление будет передано монитору. В число привилегированных команд входят команды ввода-вывода; это значит, что все устройства ввода-вывода контролируются монитором. Это, например, предотвращает случайное чтение программой пользователя команд управления, относящихся к следующему заданию. Если программе пользователя нужно произвести ввод-вывод, она должна запросить для выполнения этих операций монитор.

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

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

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

 

Многозадачные пакетные системы

Процессору часто приходилось простаивать даже при автоматическом выполнении заданий под управлением простой пакетной операционной системы. Проблема заключается в том, что устройства ввода-вывода работают намного медленнее, чем процессор. На рис. 2.4 представлены соответствующие расчеты, выполненные для программы, которая обрабатывает файл с записями, причем для обработки одной записи требуется в среднем 100 машинных команд. В этом примере 96% всего времени процессор ждет, пока устройства ввода-вывода закончат передачу данных в файл и из него. На рис. 2.5,а показана такая ситуация для одной программы. Некоторое время процессор исполняет команды; затем, дойдя до команды ввода-вывода, он должен подождать, пока она не закончится. Только после этого процессор сможет продолжить работу.


Рис. 2.4. Пример использования системы

Эффективность использования процессора можно повысить. Мы знаем, что памяти должно хватить, чтобы разместить в ней операционную систему (резидентный монитор) и программу пользователя. Представим, что в памяти достаточно места для операционной системы и двух программ пользователя. Теперь, когда одно из заданий ждет завершения операций ввода-вывода, процессор может переключиться на другое задание, для которого в данный момент ввод-вывод, скорее всего, не требуется (рис. 2.5,6). Более того, если памяти достаточно для размещения большего количества программ, то процессор может выполнять их параллельно, переключаясь с одной на другую (рис. 2.5,в). Такой режим известен как многозадачность (multiprogramming) и является основной чертой современных операционных систем.


в) Многозадачность — три программы
Рис. 2.5. Пример многозадачности

Приведем простой пример, иллюстрирующий преимущества многозадачности. Рассмотрим компьютер, имеющий 256 К слов памяти, не используемых операционной системой, диск, терминал и принтер. На обработку одновременно приняты три программы, JOB1, JOB2 и JOB3, атрибуты которых перечислены в табл. 2.1. Предположим, что для выполнения заданий JOB2 и JOB3 использование процессора минимально, и задание JOB3 постоянно обращается к диску и принтеру. В простой среде с пакетной обработкой эти задания выполняются последовательно. Для завершения JOB1 требуется 5 мин. Задание JOB2 должно ждать, пока пройдут эти 5 мин, после чего оно выполняется в течение 15 мин. По истечении 20 мин начинает работу задание JOB3; его выполнение заканчивается через 30 мин после того, как оно было принято на обработку. Средний процент использования ресурсов, производительность и время отклика показаны в столбце табл. 2.2, соответствующем однозадачности, а на рис. 2.6,а показано использование различных устройств в этом режиме. Очевидно, что эффективность использования всех ресурсов, усредненная по всему периоду времени (30 мин), является крайне низкой.

Таблица 2.1. Свойства трех программ-примеров

Теперь предположим, что задания выполняются одновременно под управлением многозадачной операционной системы. Из-за того что они используют разные ресурсы, их совместное выполнение на компьютере длится минимальное время (при условии, что заданиям J0B2 и J0B3 предоставляется достаточно процессорного времени для поддержки осуществляемого ими ввода и вывода в активном состоянии). Для выполнения задания J0B1 потребуется 5 мин, но к этому времени задание J0B2 будет выполнено на треть, а задание J0B3 — на половину. Все три задания будут выполнены через 15 мин. Если посмотреть на столбец табл. 2.2, соответствующий многозадачному режиму, его преимущества станут очевидны, как и из гистограммы, приведенной на рис. 2.6,6.

 

Рис. 2.6. Гистограммы использования ресурсов

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

Многозадачные операционные системы сложнее систем последовательной обработки заданий. Для того чтобы можно было обрабатывать несколько заданий одновременно, они должны находиться в основной памяти, а для этого требуется система управления памятью. Кроме того, если к работе готовы несколько заданий, процессор должен решить, какое из них следует запустить, для чего необходим некоторый алгоритм планирования. Эти концепции обсуждаются в следующих разделах данной главы.

 

Системы, работающие в режиме разделения времени

Использование многозадачности в пакетной обработке может привести к существенному повышению эффективности. Однако для многих заданий желательно обеспечить такой режим, в котором пользователь мог бы непосредственно взаимодействовать с компьютером. В самом деле, во многих случаях интерактивный режим является обязательным условием работы.
Многозадачность не только позволяет процессору одновременно обрабатывать несколько заданий в пакетном режиме, но может быть использована и для обработки нескольких интерактивных заданий. Такую организацию называют разделением времени, потому что процессорное время распределяется между различными пользователями. В системе разделения времени несколько пользователей одновременно получают доступ к системе с помощью терминалов, а операционная система чередует исполнение программ каждого пользователя через малые промежутки времени. Таким образом, если нужно одновременно обслужить n пользователей, каждому из них предоставляется лишь 1/и часть полной скорости компьютера, не считая затрат на работу операционной системы. Однако, принимая во внимание относительно медленную реакцию человека, время отклика на компьютере с хорошо настроенной системой будет сравнимо со временем реакции пользователя.
Как пакетная обработка, так и разделение времени используют многозадачность. Основные отличия этих двух режимов перечислены в табл. 2.3.

Таблица 2.3. Пакетная многозадачность и разделение времени

Одной из первых операционных систем разделения времени была система CTSS (Compatible Time-Sharing System) [CORB62], разработанная в Массачусетском технологическом институте группой, известной как Project MAC. Первоначально система была разработана для IBM 709, а затем перенесена на IBM 7094.

По сравнению с более поздними системами, CTSS была довольно примитивна. Она работала на машине с основной памятью емкостью 32000 36-битовых слов, из которых 5000 слов занимал монитор. Когда управление должно было быть передано очередному интерактивному пользователю, его программа и данные загружались в остальные 27000 слов основной памяти. Программа всегда загружалась так, что ее начало находилось в ячейке номер 5000, что упрощало управление как монитором, так и памятью. Приблизительно через каждые 0.2 с системные часы генерировали прерывание. При каждом прерывании таймера управление передавалось операционной системе, и процессор мог перейти в распоряжение другого пользователя. Таким образом, данные текущего пользователя через регулярные интервалы времени выгружались, а вместо них загружались другие. Перед считыванием программы и данных нового пользователя программа и данные предыдущего пользователя записывались на диск для сохранения до дальнейшего выполнения. Впоследствии, когда очередь этого пользователя наступит снова, код и данные его программы будут восстановлены в основной памяти.

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

Предположим, что всего работает четыре пользователя, которым нужны следующие объемы памяти:


Рис. 2.7. Работа CTSS

Сначала монитор загружает задание JOB1 и передает ему управление (о). Затем он принимает решение передать управление заданию JOB2. Из-за того, что JOB2 занимает больше памяти, чем JOB1, сначала нужно сохранить данные JOB1, а затем можно загружать JOB2 (б). Затем для обработки загружается JOB3. Но поскольку это задание меньше, чем JOB2, часть задания JOB2 может оставаться в основной памяти, сокращая время записи на диск (в). Позже монитор вновь передает управление заданию JOB1. Чтобы загрузить его в память, на диск необходимо записать еще часть задания JOB2 (г). При загрузке задания JOB4 в памяти остается часть заданий JOB1 и JOB2 (д). Если теперь будет активизировано задание JOB1 или JOB2, то потребуется лишь частичная его загрузка. Следующим в этом примере запускается задание JOB2. Для этого требуется, чтобы JOB4 и оставшаяся в памяти часть JOB1 были записаны на диск, а в память была считана недостающая часть JOB2.
Подход CTSS по сравнению с современными принципами разделения времени является примитивным, но вполне работоспособным. Его простота позволяла использовать монитор минимальных размеров. Из-за того что задание всегда загружалось в одно и то же место в памяти, не было необходимости применять во время загрузки методы перемещения (которые рассматриваются позже). Необходим был лишь метод записи, позволяющий уменьшить активность диска. Работая на машине 7094, CTSS могла обслуживать до 32 пользователей.

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

 

Алфавитный указатель: 

Рубрики: 

Комментарии

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

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

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

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

Решил не ограничиваться призывом к инструментальности и начать с себя. По привычке, начал с укрупненного анализа. Экспромтом получилась вот такая табличка:

Эволюция ПО и ОС

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

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

Re: Эволюция операционных систем

Дмитрий Витальевич, спасибо большое за сведение информации в наглядную форму. Хорошо видны надстройки и уход фокуса в новые области.
Однако, есть вопрос - как показать эволюцию самой по себе ОС, которая в табличке выглядит как бы зафиксированной, неизменной по крайней мере с семидесятых годов. Может быть посмотрим, что менялось на этом самом этаже? Скажем, как показать ту же самую многозадачность, пресловутые "окна", которые стали революцией.

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

Александр Кудрявцев wrote:
Дмитрий Витальевич, спасибо большое за сведение информации в наглядную форму. Хорошо видны надстройки и уход фокуса в новые области.
Однако, есть вопрос - как показать эволюцию самой по себе ОС, которая в табличке выглядит как бы зафиксированной, неизменной по крайней мере с семидесятых годов. Может быть посмотрим, что менялось на этом самом этаже? Скажем, как показать ту же самую многозадачность, пресловутые "окна", которые стали революцией.

Спасибо, Александр Владимирович, очень правильный вопрос. Постараюсь объяснить, как я это вижу.

В статье, которую мы обсуждаем, как раз рассматривается “желтый” этаж эволюции ОС. В рамках этого этажа, видимо, надо говорить об эволюции ОС для миниЭВМ и настольных ПК. С появлением локальных сетей, а затем интернета, основной фокус развития ОС перетекал туда (в принципе, в таблице это тоже видно - ОС присутствует во всех последующих этажах).

Еще раз просмотрев статью, я выявил такие закономерности развития ОС (см. таблицу 2):

Закономерности, проявившиеся в ходе развития ОС

Это экспромт; скорее всего, при более тщательном изучении могут быть выявлены и другие закономерности (либо внесены поправки в это мое описание). Буду рад если коллеги поддержат эту тему.

P.S. Кстати, мне привычнее, когда меня называют просто Дмитрием - "Витальевич" делает меня слишком солидным :)

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

Что касается прогноза дальнейшего развития ОС, то тут скорее всего, имеет смысл смотреть не вдоль “желтого” этажа, а по основной линии эволюции ОС.Для наглядности я попытался отобразить основную линию эволюции ОС и эволюцию в рамках “этажа” в Таблице 3:

Направление эволюции ОС

Первая версия Windows появилась в конце 80-х и, начиная с Windows 3.0, победно зашагала по своему “этажу”. С той поры и до сегодняшнего дня мы живем в эру Windows во всем, что касается настольных ПК. Очевидно, что в могилу ПК и Windows сойдут тоже вместе - инвестиции в создание альтернативной ОС для ПК явно бессмысленны; вектор развития давно и явно ушел в другую сторону, именно там сейчас разгфгрываются основные баталии.

Обратите внимание: каждая новая версия Windows после 3.1 (первая версия с поддержкой локальной сети, если я не ошибаюсь) не приносила и не приносит каких-либо принципиальных нововведений. Все становится еще красивее, еще быстрее и удобнее - но принципиально ничего не меняется: это все та же многозадачная операционная система с разделением времени для настольных ПК. Для меня лично это является показателем того, что система находится на III этапе своего развития: улучшений по основному показателю нет или почти нет; идет “дожимка” быстродействия и т.п. полезных свойств; основные изменения касаются дизайна и интерфейса.

Ожидать прорыва на этом фронте не стоит. Microsoft обещает удивить нас версией Windows 8 - но я уверен, что и тут принципиально ничего не изменится. Время ОС для настольных систем безвозвратно проходит вместе с эрой ПК, их дальнейшие перспективы, на мой взгляд, не вызывают сомнения: постепенное уменьшение продаж, уход в ниши, затем - в принципе с рынка.

Re: Эволюция операционных систем

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

В системе "человек - компьютер" развитие идет в направлении все более естественного (для человека) общения: грубо говоря, от переключения кабелей - к естественной коммуникации, о чем говорил Андрей Трошин. Это - интерфейс, в котором непосредственно участвует человек - пользователь компьютера.

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

Если говорить об этапах развития, то они для этих двух случаев - разные. Интерфейс "человек - компьютер" развивается быстрее, и сейчас, в рамках традиционной периодизации, находится, на мой взгляд, уже где-то в конце третьего этапа. Интерфейс "компьютер - компьютер" находится где-то в середине второго этапа - и, соответстенно, этот интерфейс сейччас очень интенсивно развивается.

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

На самом деле, тема очень интересная, и я попытаюсь высказать свою точку зрения более подробно. Но не хочу это делать "лихим кавалерийским наскоком" - обдумать надо.

Спасибо Дмитрию Гончаренко за очень ценные обобщения.

С уважением,

Александр.

Re: Эволюция операционных систем

Изображение пользователя blandux.

Дмитрий Гончаренко wrote:
Время ОС для настольных систем безвозвратно проходит вместе с эрой ПК, их дальнейшие перспективы, на мой взгляд, не вызывают сомнения: постепенное уменьшение продаж, уход в ниши, затем - в принципе с рынка.

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

Re: Эволюция операционных систем

blandux wrote:

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

Перефразирую Ваши слова, заменив в них лишь объект: ОС и вычислительные ресурсы на документ. Вот что получилось:

Quote:
Я так понял, что основные документы будут в интернете? Но это же очень зыбкое создание! Сломался спутник, сломался приёмнопередающий центр, ухудшились условия приёма, повредилась линия (мало ли стихийных бедствий бывает) и все остались не только без интернета, но и без документов? Время бумажных документов никуда не уходит, даже если в ближайшее время их развития не будет. Бумажные документы будут теперь существовать всегда и никуда не уйдут. Возможно они станут более специализированными, да и то вряд ли.

Как Вы думаете, подтверждаются ли эти слова мировой практикой? Если нет - то чем в этом плане персональная ОС принципиально отличается от персональной копии документа?

Re: Эволюция операционных систем

Изображение пользователя blandux.

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

Re: Эволюция операционных систем

blandux wrote:
Если иметь в виду простого пользователя, а не огромные организации типа банков, производящие бумагооборот по интернету, то для сохранения своих личных документов в электронном виде на том же ноутбуке, ему совсем не нужен интернет (очень зыбкое создание). Особенно если документов не так много и они постоянно должны быть в "зоне доступа", независимо от интернета, плюс к этому документы могут иметь особую секретность. Не стоит забирать обычную ОС у простого обывателя. Я лично сижу на ХР и в другой не нуждаюсь.

Уважаемый г-н blandux,

Говоря о документах, я имел в виду не "электронные документы", хранимые в персональном компьютере, а нечто такое, что хранится на удаленных серверах, и хранится отнюдь не в форме документов.

Простейший из таких документов - денежный знак. Вы про банковские карты что-нибудь слыхали? Если не слыхали, то подскажу: это такой кусок пластика, на котором хранится некий идентификационный код, записанный на магнитный носитель. Никаких денег в нем нет, и даже информация о них туда не записывается. Этот кусок пластика вставляется, к примеру, в кассовый аппарат (или в телефон, или в пропускной пункт метрополитена, или еще куда), и этот аппарат через Интернет связывается с банком. В банке эти деньги тоже не хранятся в виде документов - они хранятся в виде записей в электронной базе данных, причем денежная сумма и фамилия - в разных местах этой базы. По запросу к этой базе банковский компьютер (в котором тоже никаких документов не хранится) выдает команду, по которой банк перечисляет некую сумму денег, скажем, магазину через тот же Интернет. Всё. Никаких документов в процедуре не участвует - ни бумажных, ни даже электронных. Единственный бумажный документ - кассовый чек, но это не денежный знак (его, в общем случае, невозможно обменять на деньги), а всего лишь бухгалтерский документ, который, вообще говоря, для совершения сделки совершенно не обязателен и иногда даже не выдается, а только лишь отображается для просмотра на экране.

То есть, даже деньги сейчас уже в Интернете - и в развитых странах они в Интернете практически все, наличкой никто уже давно не пользуется. Что уж говорить о всяких справках и прочих документах, которые тоже уже в Интернете почти все "лежат". Нет (точнее, пока еще почти нет) персональных копий документов у населения - они ему просто не нужны. А ведь это для человека, как мне кажется, куда как важнее, чем персональная ОС.

Так почему Вы считаете, что, фактически уже отказавшись от персональных копий документов, человек не откажется от персональных копий ОС?

Вам такой вариант не нравится? А кто у Вас спрашивать-то будет? Сами же говорите, что развитие идет по объективным законам. Вот оно по ним и идет...

Re: Эволюция операционных систем

Изображение пользователя blandux.

priven wrote:
Так почему Вы считаете, что, фактически уже отказавшись от персональных копий документов, человек не откажется от персональных копий ОС?

Вам такой вариант не нравится? А кто у Вас спрашивать-то будет? Сами же говорите, что развитие идет по объективным законам. Вот оно по ним и идет...

Любите Вы поспорить. Про банки я уже говорил. "Облачная ОС" пусть будет для юридических лиц, а физическим лицам оставьте пожалуйста персональную ОС. Кто будет спрашивать? Спрашивать будет гоподин РЫНОК у господина ПОКУПАТЕЛЯ.

Re: Эволюция операционных систем

blandux wrote:

Любите Вы поспорить. Про банки я уже говорил. "Облачная ОС" пусть будет для юридических лиц, а физическим лицам оставьте пожалуйста персональную ОС. Кто будет спрашивать? Спрашивать будет гоподин РЫНОК у господина ПОКУПАТЕЛЯ.

Поспорить люблю - не вижу в этом ничего дурного. На то и форум.

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

Re: Эволюция операционных систем

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

Re: Эволюция операционных систем

Александр Кудрявцев wrote:
Добавьте к этому еще и то, что довольно много людей сейчас, желая сохранить файл понадежнее, отправляют его себе же по почте - всегда можно взять у провайдера, а уровень резервирования и защиты там несоизмеримо лучше.
В облака нас вытеснят две тенденции - увеличение объема служебных программ и все более сложная борьба с вирусами.

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

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

blandux wrote:

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

Никто не заберет насильно у пользователей их ноутбуки с уютненькими и привычными ОС. Эволюция работает мягче и одновременно действенней - через некоторое время Вы сами забросите этот ноутбук в шкаф, в котором уже лежит отличный фотоаппарат ФЭД и полностью работоспособный проигрыватель грампластинок "с теплым аналоговым звуком".

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

К вопросу об определении ОС

Изображение пользователя Дмитрий Гончаренко.

Коллеги,
а почему бы не использовать для старта определение ОС из Википедии:

Quote:
Операционная система — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.

Re: Эволюция операционных систем

Изображение пользователя blandux.

Дмитрий Гончаренко wrote:
А что касается зыбкого интернета, то очень скоро и незаметно Вы станете хранить там все свои данные, не задумываясь о его "зыбкости" - также, как не думаете о возможном отключении электричества, набивая холодильник едой.

Отрываетесь Вы все от реальности по типу Икара. Это не произойдёт никогда. Некоторые вещи, достигая определённого уровня развития остаются такими надолго, а то и навсегда. Персональная операционка останется. Вы в курсе, что в некоторых деревнях до сих пор нет нармальной сотовой связи, не то что интернета. А если загораешь на пляже, где-нибудь под горой в Крыму, то тебе тоже никто не сможет позвонить. А если в это время хочется покопаться в электронных документах и навести в них порядок? Зачем вообще нужен антивирусник, если компьютер не подключён к интернету и левые флэшки в него не втыкают? Самая надёжная защита данных на компьютере это вообще не подключать его к интернету.
Как говорил кто-то из школьной программы (возможно Белинский):
"Страшно далеки они от народа".

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

blandux wrote:

Отрываетесь Вы все от реальности по типу Икара. Это не произойдёт никогда. Некоторые вещи, достигая определённого уровня развития остаются такими надолго, а то и навсегда. Персональная операционка останется. Вы в курсе, что в некоторых деревнях до сих пор нет нармальной сотовой связи, не то что интернета. А если загораешь на пляже, где-нибудь под горой в Крыму, то тебе тоже никто не сможет позвонить. А если в это время хочется покопаться в электронных документах и навести в них порядок? Зачем вообще нужен антивирусник, если компьютер не подключён к интернету и левые флэшки в него не втыкают? Самая надёжная защита данных на компьютере это вообще не подключать его к интернету.
Как говорил кто-то из школьной программы (возможно Белинский):
"Страшно далеки они от народа".

Просто мы с Вами, видимо, говорим о разных периодах времени. Я не считаю, что ближайшие 5-10 лет ноутбуки и настольные ПК с традиционными ОС полностью уйдут с рынка. Но уже на этом промежутке времени тенденция ухода в интернет и конкретно в облака проявится очень сильно - Вы увидите ее невооруженным глазом, ну или в статистических отчетах IDC, если угодно.

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

А потом наступит этот грустный момент, когда Вы заглядываете в шкаф, а там он - Ваш старый любимый ноутбук, покрытый толстым слоем пыли.

Re: Эволюция операционных систем

Изображение пользователя blandux.

Зачем компьютеру, который предназначен для монтажа кинофильмов, выход в интернет? Вы представляете какой объём информации ему приходится обрабатывать в секунду? Мой третий пень с частотой 1300 (если не ошибаюсь), программы для хорошей обработки и монтажа видео НЕ ТЯНЕТ ! Какие-то более простые, урезанные програмки для видео - тянет, а чуть мощнее - уже тормозит. Представляете какая пропускная способность канала нужна? Фантазёры Вы всё таки!

Re: Эволюция операционных систем

Очень сжато про ОС

Quote:
Операционные системы существуют в рамках информационно-вычислительных систем, которые сейчас, как и много лет назад, построены в соответствии с принципами фон Неймана и содержат три основных компонента: центральный процессор, основную память и устройства ввода-вывода.

Операционная система является комплексом программ, объединяющих пользователей, программы и аппаратуру компьютера. Выделяют две основные функции операционной системы: предоставление виртуальной машины и управление ресурсами компьютера.

Операционная система состоит из модулей, среди которых выделяют ядро, как основу всей операционной системы. Существует два типа ядер: монолитные и микроядра.

За время существования операционные системы прошли длительную эволюцию, однако большинство идей, алгоритмов и архитектурных решений было реализовано в 1960–70-е годы: тогда появились многозадачность, многопользовательская работа, файловые системы и т. п.

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


http://www.linuxsoft.ru/info/lib/lib/admin/ch01.html#intro-concepts-os

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

blandux wrote:
Зачем компьютеру, который предназначен для монтажа кинофильмов, выход в интернет? Вы представляете какой объём информации ему приходится обрабатывать в секунду? Мой третий пень с частотой 1300 (если не ошибаюсь), программы для хорошей обработки и монтажа видео НЕ ТЯНЕТ ! Какие-то более простые, урезанные програмки для видео - тянет, а чуть мощнее - уже тормозит. Представляете какая пропускная способность канала нужна? Фантазёры Вы всё таки!

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

Re: Эволюция операционных систем

Изображение пользователя blandux.

Скорее в течении не "достаточно продолжительного времени", а навсегда. Пропускная способность канала не может увеличиваться беспредельно и повсеместно. Индивидуальная операционка не отомрёт никогда, но параллельно могут существовать и другие "облачные" разновидности. Например DOS не умерла, а легла в основу WINDOWS.

Re: Эволюция операционных систем

Изображение пользователя Дмитрий Гончаренко.

blandux wrote:
Скорее в течении не "достаточно продолжительного времени", а навсегда. Пропускная способность канала не может увеличиваться беспредельно и повсеместно. Индивидуальная операционка не отомрёт никогда, но параллельно могут существовать и другие "облачные" разновидности. Например DOS не умерла, а легла в основу WINDOWS.

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

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

Re: Эволюция операционных систем

blandux wrote:
Дмитрий Гончаренко wrote:
А что касается зыбкого интернета, то очень скоро и незаметно Вы станете хранить там все свои данные, не задумываясь о его "зыбкости" - также, как не думаете о возможном отключении электричества, набивая холодильник едой.

Отрываетесь Вы все от реальности по типу Икара. Это не произойдёт никогда. Некоторые вещи, достигая определённого уровня развития остаются такими надолго, а то и навсегда. Персональная операционка останется. Вы в курсе, что в некоторых деревнях до сих пор нет нармальной сотовой связи, не то что интернета. А если загораешь на пляже, где-нибудь под горой в Крыму, то тебе тоже никто не сможет позвонить. А если в это время хочется покопаться в электронных документах и навести в них порядок? Зачем вообще нужен антивирусник, если компьютер не подключён к интернету и левые флэшки в него не втыкают? Самая надёжная защита данных на компьютере это вообще не подключать его к интернету.
Как говорил кто-то из школьной программы (возможно Белинский):
"Страшно далеки они от народа".

Самая надежная защита данных - это вообще их не иметь :)

Что касается деревень, то я немножко в курсе. Но только Россия, в которой еще есть такие деревни (ну, так получилось...), отнюдь не определяет тенденции мирового развития компьютерной техники. И Украина, в которой все еще есть горы, не охваченные мобильной связью, тоже. И Зимбабве тоже. Что поделать - наша страна оказалась на обочине мирового прогресса, и вскоре ее может обойти даже совершенно нищая Индия, не говоря уже о Китае с Бразилией. Просто съездите в Европу (западную), Азию (восточную) или Америку (северную) - и Вы увидите "будущие" (для России) тенденции развития своими глазами. Вам говорят здесь о давно уже свершившихся фактах, которые не нужно прогнозировать - они уже свершились. А Вы упорствуете... зачем?

Re: К вопросу об определении ОС

Дмитрий Гончаренко wrote:
Коллеги,
а почему бы не использовать для старта определение ОС из Википедии:
Quote:
Операционная система — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.

По той причине, что в рамках этого определения и любая СУБД (например, Oracle), и любая среда программирования (например, Visual Studio), и много чего еще тоже являются операционными системами, хотя их в этом качестве специалисты почему-то не признают. А, кроме того, потому, что ОС для десктопа, ОС для почтового сервера и ОС для главного сервера Центра управления полетами - это очень разные ОС. Я хотел бы более четко конкретизировать тот объект, эволюцию которого мы рассматриваем, - иначе есть риск запутаться в объектах и тенденциях их развития.

Re: Эволюция операционных систем

Изображение пользователя GIP.

priven wrote:
И Украина, в которой все еще есть горы, не охваченные мобильной связью, тоже.

Александр, это вовсе не так. Например, в прошлом году супруга позвонила с вершины Говерлы и радостно сообщила, что она дошла. В другой раз я координировал процесс встречи двух туристов, у одного из которых не было денег на счете, чтобы позвонить с отвесного обрыва, куда его зачем-то понесло, а второй не знал его номера.
Так что "а-у-у-у-у" - слышно в Карпатах далеко :)

Осознание

==ИИ-->

Re: К вопросу об определении ОС

Изображение пользователя Дмитрий Гончаренко.

priven wrote:
Я хотел бы более четко конкретизировать тот объект, эволюцию которого мы рассматриваем, - иначе есть риск запутаться в объектах и тенденциях их развития.

Я поддерживаю эту мысль. Лично для меня наиболее интересным является рассмотрение самого "верхнего", обобщенного слоя эволюции - условно говоря, что заставляет появляться новые типы ОС - серверные ОС, ОС для интернет-серверов, облачные ОС и так далее? Что будет за "облаками"? Я понимаю, что эти вопросы достаточно далеки от практического применения, но ничего с собой поделать не могу.

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

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

В любом случае, я поддержу общее мнение коллег и постараюсь принять активное участие в обсуждении того объекта, о котором мы договоримся.

Re: К вопросу об определении ОС

Изображение пользователя GIP.

Дмитрий Гончаренко wrote:
Лично для меня наиболее интересным является рассмотрение самого "верхнего", обобщенного слоя эволюции ... Что будет за "облаками"? Я понимаю, что эти вопросы достаточно далеки от практического применения, но ничего с собой поделать не могу.

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

Осознание

==ИИ-->

Re: К вопросу об определении ОС

Дмитрий Гончаренко wrote:
priven wrote:
Я хотел бы более четко конкретизировать тот объект, эволюцию которого мы рассматриваем, - иначе есть риск запутаться в объектах и тенденциях их развития.

Я поддерживаю эту мысль. Лично для меня наиболее интересным является рассмотрение самого "верхнего", обобщенного слоя эволюции - условно говоря, что заставляет появляться новые типы ОС - серверные ОС, ОС для интернет-серверов, облачные ОС и так далее? Что будет за "облаками"? Я понимаю, что эти вопросы достаточно далеки от практического применения, но ничего с собой поделать не могу.

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

Re: К вопросу об определении ОС

Изображение пользователя AlexZ.

Схема эволюции Операционной системы (ОС), представленная с помощью Универсальной схемы эволюции:

02278-AZ.jpg
Представленная Схема эволюции ОС инвариантна по отношению к типу ОС, поэтому с её помощью можно рассмотреть эволюцию ОС и десктопа, и почтового сервера, и главного сервера ЦУПа. Для каждого случая нужно выбрать какую-то одну ОС, собирать и обрабатывать информацию именно по этой ОС.
Бл. 1. Констатация факта, что ОС имеет пониженную жизнеспособность (чем могла бы) из-за имеющихся у нее проблем. Эти проблемы можно выяснить у разработчиков этой ОС, у системных администраторов (пользователей), у разработчиков конкурирующих ОС.
Бл. 2. Констатация факта, что ОС имеет пониженную идеальность (чем могла бы быть) из-за имеющихся у нее проблем. Качественная формула идеальности: "сумма полезных функций" / "сумма вредных функций". Понятно, что ОС хоть как-то выполняет ГПФ, т.е. числитель дроби в выражении для идеальности не равен 0. Ну, а перечень вредных функций, хотя бы в виде списка НЭ (см. п. 1), говорит, что и знаменатель дроби в выражении для идеальности равен какой-то величине. Т.е. действительно величина идеальности существует и эта величина меньше, чем могла бы быть.
Здесь на схеме развилка: надо решать - куда двигаться? Выбрать направление помогает анализ характера изменения главного показателя ОС во времени, т.е. анализ по S-образной кривой. Укрупненно можно определить этап развития ОС по зависимости от времени характера изменения числа тех, кто имеет отношение к данной ОС (разработчики и пользователи):
- число невелико и растет медленно (1 этап)
- число быстро растет (2 этап)
- число велико, но рост замедляется (3 этап) и
- число снижается (4 этап).

В зависимости от найденного этапа на схеме выбирается направление:
Бл. 3. Создание новой ОС. Это случай, если ОС находится на 3 этапе и ресурсов развития практически не осталось.
Пояснение: сразу после создания в Бл. 3 новая система тут же становится существующей и может (должна) развиваться как существующая. Это показано переходом Бл. 3 --> Бл. 4.
Бл. 4. Развитие существующей ОС. Это случаи, когда ОС находится или на 1, или на 2 этапе. Ресурсы развития есть.
Бл. 5. Объединение сущестсвующих ОС1 и ОС2. Это случай, если ОС находится на 3 этапе и ресурсы развития еще есть. Особенно эффективно объединение двух ОС со взаимнопротивоположными достоинствами и недостатками, т.е. случай объединения альтернативных систем.
Пояснение: после объединения двух существующих ОС в Бл. 5 формально получена новая ОС, что показано переходом Бл. 5 --> Бл. 3.
Еще раз подробно Бл. 4. Развитие существующей ОС.
Для этого необходимо дополнить ранее выявленые НЭ (см. п. 1) максимально возможным числом НЭ (внешних НЭ - Бл. 6 и внутренних НЭ - Бл. 7), выявленных с помощью известных методов анализа. Функциональная модель ОС строится на этом этапе.
Затем общий список НЭ используется для построения ПССети (или ПСЦепи) и выявления ключевого (ключевых) НЭ.
Бл. 8. Изменение элемента(ов) ОС, связанного с ключевым (ключевыми) НЭ.
Это изменение может быть:
- радикальным - устранение элемента из ОС (тримминг) или
- менее радикальным, но:
(a) без возникновения противоречия (повезло - бери и меняй!)
(b) с возникновением противоречия (разрешай!)
Остальные блоки схемы эволюции ОС являются констатирующими - последовательно показывают результаты изменения ОС: отсутствие внешних и внутренних НЭ (Бл. 9 и Бл. 10) означает улучшенную существующую ОС (Бл. 11), что, в свою очередь, означает повышенную идеальность ОС (Бл. 12), что, в свою очередь, означает повышенную жизнеспособность ОС (Бл. 13).
Переход Бл. 1 к Бл. 13 (на схеме - закон повышения жизнеспособности) показывает главное направление эволюции.
Повторюсь - это обощенное описание эволюции ОС; для детализации необходим тщательный сбор информации, аккуратная работа по наполнению каждого блока схемы. Самый лучший вариант - совместная работа методолога (знает как менять) и специалиста по ОС (знает что менять).
Детальную работу со схемой эволюции помогает делать компьютерная программа USESoft (сделана на основе универсальной схемы эволюции + дополнение ТРИЗовскими решательными инструментами).
Спасибо,
AlexZ

Re: Эволюция операционных систем

Изображение пользователя blandux.

Я так понял дискуссию вести совершенно бесполезно, Вы уже в "облаках". Что Вы доказываете, что без интернета не будет работать ни один компьютер, что персональные компьютеры вообще отомрут вместе с персональной операционкой? Думаю нам до этого не дожить. То что на западе уже существуют "облака" не значит, что там нет или когда-либо небудет персональной операционки. Да, она будет продолжать улучшаться, трансформироваться, но останется ПЕРСОНАЛЬНОЙ ОПЕРАЦИОНКОЙ. Храните свои данные в интернете, никто не запрещает, но при включении личного ноутбука (или назовите его как угодно), по-прежнему будет загружаться персональная операционка. Ну не отомрёт она никогда, чем бы ВЫ её не убивали. Прогресс будет идти параллельно и сосуществовать будут разные экземпляры - кому что нужно.

Re: Эволюция операционных систем

blandux wrote:
Я так понял дискуссию вести совершенно бесполезно, ...при включении личного ноутбука (или назовите его как угодно), по-прежнему будет загружаться персональная операционка. Ну не отомрёт она никогда, чем бы ВЫ её не убивали. Прогресс будет идти параллельно и сосуществовать будут разные экземпляры - кому что нужно.
Вот об этом и речь. Персональная операционка где-то останется, с этим коллеги не спорят. Развиваться скорее всего будет что-то иное (так представляется, исходя из моего понимания ситуации). У Вас иное понимание - отлично.
Как по Вашему будут развиваться ОС? Какие новые функции приобретут, что в них изменится, куда будут стремиться?

Re: Эволюция операционных систем

blandux wrote:
Я так понял дискуссию вести совершенно бесполезно, Вы уже в "облаках". Что Вы доказываете, что без интернета не будет работать ни один компьютер, что персональные компьютеры вообще отомрут вместе с персональной операционкой? Думаю нам до этого не дожить. То что на западе уже существуют "облака" не значит, что там нет или когда-либо небудет персональной операционки. Да, она будет продолжать улучшаться, трансформироваться, но останется ПЕРСОНАЛЬНОЙ ОПЕРАЦИОНКОЙ. Храните свои данные в интернете, никто не запрещает, но при включении личного ноутбука (или назовите его как угодно), по-прежнему будет загружаться персональная операционка. Ну не отомрёт она никогда, чем бы ВЫ её не убивали. Прогресс будет идти параллельно и сосуществовать будут разные экземпляры - кому что нужно.

Да никто никого не убивает... Вот, даже пленочные "мыльницы" вполне себе живут еще. Только их сегодня очень мало кто покупает. То же самое будет и с "безоблачными" ноутбуками: у них ведь, если так разобраться, преимуществ-то, на перспективу, нет, одни недостатки.

К тому же - открою Вам страшную тайну - персональные операционки тоже порой имеют свойство портиться. От вирусов, например.

И жесткий диск, кстати, ну ОЧЕНЬ легко повредить (никогда не роняли его на стол сантиметров, скажем, с двадцати? а на пол?) - так что, если хотите в самом деле защиттить данные от порчи на своем ПК, то Вам надо сделать хотя бы две-три резервные копии на разных носителях. И - либо носить их все постоянно с собой (что тоже рискованно - под дождик, знаете ли, можно попасть иногда...), либо (по крайней мере, временно) лишиться возможности доступа к данным, если на жестком диске с ними что случится.

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

Ну и чего мы выигрываем, отказываясь от "облаков"? Хоть одно преимущество-то назовите... Возможно, я чего-то не понимаю - буду рад пояснениям.

Re: Эволюция операционных систем

Изображение пользователя blandux.

priven wrote:
Ну и чего мы выигрываем, отказываясь от "облаков"? Хоть одно преимущество-то назовите... Возможно, я чего-то не понимаю - буду рад пояснениям.

Думаю объяснять бесполезно, Вы просто не читаете объяснения.
Успехов и оставайтесь при своём мнении.

Re: К вопросу об определении ОС

Александр Кудрявцев wrote:
Дмитрий Гончаренко wrote:
priven wrote:
Я хотел бы более четко конкретизировать тот объект, эволюцию которого мы рассматриваем, - иначе есть риск запутаться в объектах и тенденциях их развития.

Я поддерживаю эту мысль. Лично для меня наиболее интересным является рассмотрение самого "верхнего", обобщенного слоя эволюции - условно говоря, что заставляет появляться новые типы ОС - серверные ОС, ОС для интернет-серверов, облачные ОС и так далее? Что будет за "облаками"? Я понимаю, что эти вопросы достаточно далеки от практического применения, но ничего с собой поделать не могу.

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

ОК. Итак, что будет "за облаками"?

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

У Дмитрия перед "облаками" в табличке было пятеро предшественников:

* Аппаратное обеспечение ("железо")
* Программное обеспечение (ПО)
* Операционная система (ОС)
* Сетевое ПО / ОС
* Интернет ПО / ОС

Я бы описал предшественников малость по-другому, в зависимости от особенностей самих компьютеров (никоим образом не претендую на абсолютную истину!):

0. Механические счетные устройства (от греческого калькулятора затмений и Стоунхеджа до машин Ч. Бэббиджа и механических устройств на перфокартах) - это предыстория, мы же говорим об электронных компьютерах;

1. Программируемый компьютер (1945-1955, программирование "на железе");

2. Перепрограммируемый компьютер (1960-е);

3. Компьютер с дистанционным управлением (1970-е);

4. "Большой компьютер" (не знаю, как его лучше назвать, - 1970-80-е, тогда же, если не ошибаюсь, появился и термин "суперкомпьютер");

5. Персональный компьютер (тоже 1980-е);

6. Мультимедиа компьютер с доступом в Интернет (1990-е);

7. "Облачный" компьютер.

Соответственно, под эти компьютеры создавались и свои операционки. Я вижу здесь следующую логику развития.

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

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

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

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

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

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

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

Что же будет дальше? Дальше, по логике развития событий (г-н blandux по-своему прав!), нреобходимо сосредоточиться на том, чтобы (а) гарантировать повсеместный доступ к "облакам" и (б) полностью исключить риск потери/кражи данных. Соответственно, я ожидаю упорядочения и стандартизации "облачных" ресурсов с объединением их не только на уровне протоколов обмена данными, но и на уровне регламентирования структур хранения самих данных. Не будет "в облаках" разных серверных ОС - в итоге будет единый стандарт, которого будут придерживаться все провайдеры. Соответственно, будет единый механизм дублирования данных, защиты от "нехороших" программ и т.д. Будет жестко регламентирована процедура идентификации пользователей (скорее всего, по биометрическим показателям).

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

Разумеется, мое видение может быть ошибочным, и оно безусловно является неполным. С интересом почитаю, что на этот счет думают остальные.

Re: К вопросу об определении ОС

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

ОС для персональных средств

Наверное, говоря об ОС для персональных средств, надо разделить "облачные" системы с обычными. Последние, конечно, будут быстро вытесняться с рынка, но - blandux снова прав - полностью будут вытеснены, возможно, не очень скоро, а, скорее всего, уйдут в специализированные ниши. В какие именно, и как они там будут развиваться? Это тоже одно из направлений эволюции, хотя и не "магистральное".

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

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

С уважением,

Александр.

Re: К вопросу об определении ОС

Изображение пользователя AlexZ.

Д.Гончаренко wrote:

15/08/2011 - 08:01
Что заставляет появляться новые типы ОС - серверные ОС, ОС для интернет-серверов, облачные ОС и так далее?

Вопрос можно переформулировать шире: Что заставляет появляться новые типы (виды) машин, приборов, потребительских товаров (еда, питье, одежда и обувь и т.п., научных теорий, видов искусств, направлений религий и пр.?
Ответ тоже будет широким: Неудовлетворенность(*) пользователя старыми типами (видами) машин, приборов, потребительских товаров, научных теорий, видов искусств, направлений религии и пр. + возможности, появляющиеся в надсистеме.
Например:
- развитие кинофильма самого по себе: звук, цвет, широкий экран, комбинированные съемки и визуальные эффекты;
- кинофильм + новое средство доставки (телевещание) = сериалы;
- развитие спорта самого себе: новые приемы плаванья, бега, поднятия тяжестей и т.д.;
- спорт + новое средство доставки (телевещание) = преимущественное развитие зрелищных видов спорта.
В приложении к ОС:
- развитие ОС самой по себе из-за неудовлетворенности потребителя - см. обобщенный анализ СО по Схеме эволюции;
- ОС + возможности, появляющиеся в надсистеме (Интернет) – периодическое обновление, защита от вирусов, устойчивость к механическим повреждениям, мобильность, синхронизация информации и т.д.
(*)Неудовлетворенность может быть лично осознанная и навязанная извне (мода, престиж, статусное потребление).
ОС со стразами? :)))
Д.Гончаренко wrote:

Что будет за "облаками"?

Есть общая тенденция развития: все стандартные, индивидуально выполняемые функции, могут быть выполнены в надсистеме: Натуральное хозяйство --> централизация
Обеспечение теплом: индивидуальная печь в доме --> центральное отопление
Обеспечение электроэнергией: индивидуальный источник --> централизованная выработка и распределение электроэнергии
Обеспечение продуктами питания: индивидуальное хозяйство --> сельское хозяйство и пищевая промышленность
Обеспечение одеждой и обувью: индивидуальное хозяйство --> производство одежды и обуви
Обеспечение досуга: индивидуальный досуг --> индустрия досуга

По аналогии:
ОС и прикладные программы на индивидуальном компьютере --> ОС и прикладные программы на «облаке»: периодическое обновление, защита от вирусов, устойчивость к механическим повреждениям, мобильность, синхронизация информации и т.д.
В 1993 г. Эрик Шмидт написал: «Как только Сеть становится такой же быстрой, как процессор, компьютер исчезает, растворяясь внутри нее». Его следующий работодатель сформулировал это проще: Сеть - это и есть компьютер». Следующим работодателем Шмидта стала компания Google, в которой он занял пост исполнительного директора.
Жадная паутина, http://www.expert.ua/articles/12/0/3883

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

Subscribe to Comments for "Эволюция операционных систем"