Что бы мне допустем хотелось узнать ,так это на возможность появления ПО которое изночально само себя организовывало это раз: второе моглобы самом низком уровне перестраивать себя под текущие нужды ну и кроссплатформенность (есле ошибся в синтаксе то сори) ,думаеться мне эта задача возникала не раз и не два. Ожидаемый ответ - :любое аргументированное мнение,ну прсто замечания.
Не удивляйся, если это ПО потом устроит за тобой охоту =))))... Представляю... то тут то там на васме от симона появляються сообщения - "Помогите!!!".... "Спасите...."
Из книги - "Некоторые аппаратные характеристики, например разрядность процессора, видимы программисту на С. Переход, например, с 32-разрядного процессора на 64-разрядный по-прежнему будет требовать изменений в программе на С. А это снижает переносимость С-программ." Не могу понять, всю голову сломал - как с уровня Сишняка видна разрядность регистров процессора? Вы когда ПО на Сишке пишете чуете разрядность проца, под который прога компильнется?
это не самый яркий пример, а вот размеры указателей - серьёзный вопрос. у меня в коде часто встречались такие конструкции: *(PCHAR)((DWORD)pointer + offset) которые приходилось переписывать. а вообще это боян конечно. можно здесь почитать http://rsdn.ru/article/cpp/XXtraps64bit.xml
cupuyc Да про новую архитектуру читаю AS 400 и легендарную четырехсотую ось, которая за все время существования ни разу не была взломана. Да кстати чисто из любопытства, ведь с уровня Сишняка нельзя загнать переменную из памяти в регистр проца? По-моему нет, только асмом. Думал об этом, но ведь проги на сишке аппаратно-независимые хоть для x86, хоть для контроллера. Просто компиляторы разные.
simon Невозможно imho - такое. Чтобы что-то само организовалось нужно чтобы кто-то за этим следил. Это вообще философский вопрос. Есть, конечно, там подобия какие-то. Там ... плагинные системы к примеру. Но skynet из "Терминатора" - это нереально.
spa Ну приведите испуганным голосом примеры. Примеры в которых аппаратно программная сторона осознанно представляла бы угрозу ее создателю. ))) Вставайте из-под стола, хватит там Вам заниматься ерундой. ))))
Наверное просто никто не пытался - никому нах не надо. Я вот про такую даже не знаю. Смотря какие проги. Можно так писать, что будут зависимыми. Даже скажу иначе: большинство прог, написанных на си - платформенно зависимые. И регистры тут не при чём. krabz привёл один из таких примеров. А вообще их бесчисленное множество. Попробуйте перенести скажем, quake 3 (сорцы есть в сети) под х86-64 или под ARM. Вообще говоря, вопрос некорректен. Что значит загнать? В EAX загнать 1? Если это стандартный С, без всяких примочек, типа _asm, без специализированных либ, то, конечно, нельзя. Другое дело загнать в какой-нибудь регистр мат сопроцессора число, скажем, 12.71 - довольно просто. Если это x86 архитектура, конечно.
Если такая "умная" программа начнёт размножаться, то запросто... У вас компьютер наверняка подключен к Интернету. А запущенная ваша программа рано или поздно решает, то не плохо было бы получить контроль над соседними по сети машинами и находит способы (она же саморазвивающиеся) обходить различные защиты. Так она распространяется на всё большее количество машин (кстати, если они все связанны, то она может создать ботнет для более быстрого просчёта своих дальнейших действий). Ну и рано или поздно эта программа оказывается на компьютере, который управляет чем-то вполне реальным. Электростанция, завод или ещё что-то, неверное управление чем может повлечь без участия людей жертвы. А если учесть, что ваша структура вполне может научиться использовать для размножения и флешки, то добраться сможет хоть до компьютера, который управляет ядерными ракетами. Вот и реальная угроза для создателя) Достаточно, чтобы эта саморазвивающаяся программа была изначально вирусом, либо имела возможность менять свой функционал до вирусного.
а что если структура будет мыслить не как человек - не захватывать ресурсы, и вытеснять конкурентов, а помогать? почему все пути ведут к деструкции?
not1, так модно показывать в америкосовских фильмах. Конечно, зачем создавать роботов, которые будут вредить человеку? Попахивает идиотизмом.
об этом я читал в книге "Полный root" а вообще ведь самоорганизующееся ПО - это не обязательно сразу система, обладающая интеллектом, разумом и волей. я думаю что технологии могут достичь такого уровня в обозримом будущем, но это всё равно будет спроектированная система с определёнными задачами, ведь никто не будет финансировать разработку чего-то, что само себе на уме. другой вопрос, что и баги в этой системе будут уже другого уровня и дадут соответствующие возможности эксплуататорам - но это опять же воля человека.