Категории
Самые читаемые книги
ЧитаемОнлайн » Разная литература » Прочее » Хакеры сновидений: Архив 1-6 - Lokky

Хакеры сновидений: Архив 1-6 - Lokky

Читать онлайн Хакеры сновидений: Архив 1-6 - Lokky

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 466 467 468 469 470 471 472 473 474 ... 895
Перейти на страницу:

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

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

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

Теперь вернемся к обычному представлению.

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

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

Вторая степень защиты - в ООП: методы не могут быть вызваны, если они protected или private. То же касается и атрибутов объекта. Некоторые системные функции окружения сами вызывают определенные методы объектов, например по таймеру. Можно сказать, что вызовом методов управляет система, и управление среди методов может передаваться в рамках дозволенных вызовов.

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

nick

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

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

Ligth

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

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

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

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

red_warg

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

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

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

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

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

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

-деление на далговременную и кратковременную память

-регистры и кэшы всех уровней в процессоре

-Java с виртуальными машинами

-теги и всякая другая муть

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

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

Вот вчера озадачил nick меня многопроцессорностью, типа вселенского суперкомпьтера. Дело в том, что, например, если двум процессорам одновременно нужно записать информацию в одну и туже ячейку памяти, то возникает вопрос: кто прав? А вот если инфа сама является и хранителем информации и процессором такой вопрос просто не возникнет (я понимаю, что представить такое сложно, но тут ничего не поделаешь).

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

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

Ligth

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

nick

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

1 ... 466 467 468 469 470 471 472 473 474 ... 895
Перейти на страницу:
На этой странице вы можете бесплатно скачать Хакеры сновидений: Архив 1-6 - Lokky торрент бесплатно.
Комментарии
КОММЕНТАРИИ 👉
Комментарии
Аннушка
Аннушка 16.01.2025 - 09:24
Следите за своим здоровьем  книга супер сайт хороший
Татьяна
Татьяна 21.11.2024 - 19:18
Одним словом, Марк Твен!
Без носенко Сергей Михайлович
Без носенко Сергей Михайлович 25.10.2024 - 16:41
Я помню брата моего деда- Без носенко Григория Корнеевича, дядьку Фёдора т тётю Фаню. И много слышал от деда про Загранное, Танцы, Савгу...