метрика сложности программ (статья Гэнссла)

 
+
-
edit
 

Balancer

администратор
★★★★☆
Kernel3> Ага. Вот только под процессом можно понимать разные вещи :P И изоляция с защищённостью ту сразу всплывут.

Стандарт ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входы в выходы.

// Процесс (информатика) — Википедия

Где там защищённость с изоляцией?
 
+
-
edit
 

Kernel3

аксакал

Balancer> Стандарт ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входы в выходы.
Balancer> // Процесс (информатика) — Википедия
Balancer> Где там защищённость с изоляцией?
Офигенное определение :lol: Компьютер - это процесс, значит. И сама ОС тоже. И вообще всё, что угодно.
Я позволю себе более прикладной пример, всё-таки: посмотреть, что называется процессом в DOS, Win 3.x и Win NT.
Broken Windows® cures my ills and makes me feel alright... ©  
+
-
edit
 

Mishka

модератор
★★☆
Kernel3> Ага. Вот только под процессом можно понимать разные вещи :P И изоляция с защищённостью ту сразу всплывут.

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

Kernel3

аксакал

Mishka> Замечу, что сама операционка в своём ядре и драйверах (как правило) не защищена сама от себя. И ничего, работает.
Это потому что код режима ядра и обычные процессы (приложения) - это немного разные вещи. В т.ч. с точки зрения средней квалификации людей, которые занимаются тем и другим :) ЯТД
Broken Windows® cures my ills and makes me feel alright... ©  
+
-
edit
 

Mishka

модератор
★★☆
Kernel3>> Ага. Вот только под процессом можно понимать разные вещи :P И изоляция с защищённостью ту сразу всплывут.
Balancer> Стандарт ISO 9000:2000 Definitions определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входы в выходы.
Balancer> // Процесс (информатика) — Википедия
Balancer> Где там защищённость с изоляцией?
Справедливости ради — там и про мультизадачность ни слова. Это общее определение процесса. Как он будет выполняться — ни слова. С точки зрения ОС, процесс — это еденица работы. Что он там делает внутри, ей пофигу. ОС предоставляет некоторые примитивы работы и обеспечивате выполнение — мультизадачность (сопрограммную, time-slice, receptiveness, etc), взаимодействие и синхронизацию (семафоры, общая память, сокеты, рандеву, события, мониторые скобки, сообщения, etc), изоляцию, управление памятью (в том числе виртуальной), средсвта обмена инфой (могут быть использованы как средства синхронизации), управление рессурсами (разделение, закрепление-выделение, моделирование, etc). Сейчас говорят о предоставлении общих библиотек (хотя это было всегда). ОС многозадачная должна предоставлять только многозадачность — остальное факультативно. Правда, следую хорошей практике, говорят, что "современная многозадачная ОС должна" — и перечисляют всё.
 
+
-
edit
 

Balancer

администратор
★★★★☆
Kernel3> Офигенное определение :lol:

Потому что термин очень широкий. Если же ты его сузишь, то... Впрочем, дай своё определение, а там - посмотрим :D

Kernel3> Я позволю себе более прикладной пример, всё-таки: посмотреть, что называется процессом в DOS, Win 3.x и Win NT.

Ну так и что? Выполнение программы в DOS - это процесс или нет?
 
+
-
edit
 

Mishka

модератор
★★☆
Kernel3> Это потому что код режима ядра и обычные процессы (приложения) - это немного разные вещи. В т.ч. с точки зрения средней квалификации людей, которые занимаются тем и другим :) ЯТД

А с этим никто не спорит. Но ядро выполняется тоже во многозадачном режиме — особенно посмотри на немонолитные ядра — тот же Apple OS X. Т.е. изоляция идёт лесом. ЧТД. :F
 
+
-
edit
 

Balancer

администратор
★★★★☆
Mishka> Справедливости ради — там и про мультизадачность ни слова.

Про мультизадачность было в метрика сложности программ (статья Гэнссла) [Balancer#05.03.08 17:58]
 
+
-
edit
 

Mishka

модератор
★★☆
Mishka>> Справедливости ради — там и про мультизадачность ни слова.
Balancer> Про мультизадачность было в метрика сложности программ (статья Гэнссла) [Balancer#05.03.08 17:58]
Дык, я с этим и не спорю. :) Kernel3 предлагал рассматривать процесс не с точки зрения его определния как такового, а с точки зрения ОС. А с точки зрения ОС — это единица работы. И хочется, чтобы плохая единица не гробила всё. Но даже в однозадачной ОС, надо бы процесс изолировать, чтобы он не гробил ОС саму по себе.
 
+
-
edit
 

Balancer

администратор
★★★★☆
Mishka> Kernel3 предлагал рассматривать процесс не с точки зрения его определния как такового, а с точки зрения ОС.

А если ОС как таковой нету? Что тогда работает в компьютере? Например, программа на Радио-86РК - это процесс или нет?

Mishka> А с точки зрения ОС — это единица работы.

Очень расплывчатое определение. Но пускай.

Mishka> И хочется, чтобы плохая единица не гробила всё.

Хочется - не обязательно так и будет :) Вот на WinCE сегодня программа легко убивает систему. Там не процессов?

Mishka> Но даже в однозадачной ОС, надо бы процесс изолировать, чтобы он не гробил ОС саму по себе.

Но неизолированный процесс - это уже не процесс, что ли? А что?
 
+
-
edit
 

Kernel3

аксакал

Balancer> А если ОС как таковой нету?
Тогда опаньки :)
Balancer> Что тогда работает в компьютере? Например, программа на Радио-86РК - это процесс или нет?
Я бы сказал, что нет. Просто программа. Как на программируемых микрокалькуляторах :)
Balancer> Но неизолированный процесс - это уже не процесс, что ли? А что?
Процесс. Но называть такую систему многозадачной как таковой лично я постеснялся бы :)
Broken Windows® cures my ills and makes me feel alright... ©  
+
-
edit
 

Kernel3

аксакал

Balancer> Вот на WinCE сегодня программа легко убивает систему. Там не процессов?
И вот с этого места поподробнее. Чё-то я на Windows Mobile 5/6 ничего такого страшного не наблюдаю :)
Broken Windows® cures my ills and makes me feel alright... ©  
+
-
edit
 

Mishka

модератор
★★☆
Balancer> А если ОС как таковой нету? Что тогда работает в компьютере? Например, программа на Радио-86РК - это процесс или нет?

Вот и работает — без ОС. :) С точки зрения процесса — процесс. С точки зрения ОС — нет, т.к. нет последней.

Balancer> Очень расплывчатое определение. Но пускай.

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

Balancer> Хочется - не обязательно так и будет :) Вот на WinCE сегодня программа легко убивает систему. Там не процессов?

Ром, я и говорю, что мультизадачность с защищённостью не связана. Там есть и мультизадачность, и процес, и нет изоляции. Тут ты не с мной споришь.

Balancer> Но неизолированный процесс - это уже не процесс, что ли? А что?

Процесс. И? Но никакого отношения к тому определению с точки зрения ОС он не имеет. С точки зрения ОС там пофиг, преобразует он что-то или нет.
 
+
-
edit
 

Mishka

модератор
★★☆
Kernel3> Процесс. Но называть такую систему многозадачной как таковой лично я постеснялся бы :)
Возьми Cisco IOS и скажи, постеняешься ли ты её назвать многозадачной? :P
 
+
-
edit
 

Kernel3

аксакал

Mishka> Возьми Cisco IOS и скажи, постеняешься ли ты её назвать многозадачной? :P
Эээ... Ну, возьму как-нибудь на досуге :) Пока ничего не скажу.
Broken Windows® cures my ills and makes me feel alright... ©  
+
-
edit
 

Balancer

администратор
★★★★☆
Kernel3> И вот с этого места поподробнее. Чё-то я на Windows Mobile 5/6 ничего такого страшного не наблюдаю :)

А включать её пробовал? :) При интенсивной работе PPC2002 висла раза по 2-4 в день, WM2003 - раз в день, WM5 - 3..4 раза в неделю. Про WM6 ничего не скажу.

...

Вот если книжки читать и музыку слушать, и флешку при этом менять осторожно, то WM5 и по две недели без рестарта может. Правда, мой Loox C550 с совершенно голой ОС (без всяких *bar'ов и левыйх драйверов) за последние полгода уже дважды зависал до необхоимости хардресета.

...

В общем, я бы поставил устойчивость WM5 где-то на уровень Win98 :)
 
+
-
edit
 

Balancer

администратор
★★★★☆
Mishka> Вот и работает — без ОС. :) С точки зрения процесса — процесс. С точки зрения ОС — нет, т.к. нет последней.

При чём тут точка зрения ОС или процесса, важно, как это воспринимаем мы :)

Mishka> Ром, я и говорю, что мультизадачность с защищённостью не связана. Там есть и мультизадачность, и процес, и нет изоляции. Тут ты не с мной споришь.

Ну и ладушки :)

...

А то сразу видно, что некоторые участники спора не работали с мультизадачными расширениями DOS :)

Да даже обычные таймерные TSR и то позволяли реализовывать не только мультизадачность, но и мультипроцессность, порой.

...

Кстати, сразу ещё вспоминается Форт какой-то... Small fort, что ли, который полноценную мультитредовость под DOS обеспечивал :D
 
+
-
edit
 

Mishka

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

au

   
★★
Mishka>>> ещё одна :)
au>> А можно развернуть мысль?
Mishka> Надо бы посмотреть на диссер моего начальника и его статьи. Ну, разговоров у нас была уйма на эту тему.

Я подумал "ещё одна статья", а оказалось "ещё одна метрика" :) Спасибо, интересно. Он не говорит что это вундерваффе, он показывает кто HP (вроде) нашла корреляцию 0.8.
 
+
-
edit
 

Kernel3

аксакал

Balancer> А включать её пробовал? :)
Пробовал.
Balancer> При интенсивной работе PPC2002 висла раза по 2-4 в день, WM2003 - раз в день, WM5 - 3..4 раза в неделю. Про WM6 ничего не скажу.
Что есть "интенсивная работа"? Что-то я за месяц эксплуатации Asus A636N никаких зависаний не видел. Один раз видел системный глюк c WiFi - это было.
Broken Windows® cures my ills and makes me feel alright... ©  
+
-
edit
 

Kernel3

аксакал

Balancer> А то сразу видно, что некоторые участники спора не работали с мультизадачными расширениями DOS :)
Некоторые участники форума такие расширения даже писали сами. Только это эрзац, очень мягко выражаясь.
Broken Windows® cures my ills and makes me feel alright... ©  

Kernel3

аксакал

au> Я подумал "ещё одна статья", а оказалось "ещё одна метрика" :) Спасибо, интересно. Он не говорит что это вундерваффе, он показывает кто HP (вроде) нашла корреляцию 0.8.
Дык, настораживает, что автор границы области применимости этой метрики в статье не обозначил. А они есть и довольно жёсткие. Собственно, нормально работать она будет только для чистого процедурного подхода а-ля ANSI C. А в общем случае (ООП, обобщённое программирование, и т.д.) она будет показывать чёрти что, о чём Mishka и написал :)
Broken Windows® cures my ills and makes me feel alright... ©  
+
-
edit
 

Mishka

модератор
★★☆
Вот книжка, которую рекомендуют — Beautiful Code - O'Reilly Media — надо будет глянуть. Но, насколько я понял, она больше филосовская.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru