Lokky - Хакеры сновидений: Архив 1-6
- Название:Хакеры сновидений: Архив 1-6
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Lokky - Хакеры сновидений: Архив 1-6 краткое содержание
Давным-давно, один парнишка по имени Kor, начал собирать и редактировать материалы по различным изысканиям хакеров сновидений. Потом он куда-то пропал, но нашлись другие, кто подхватил эстафету начатую им. Все это вылилось в данный архив, который продолжает пополнятся каждый день.
Хакеры сновидений: Архив 1-6 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Можно обратить внимание, кстати, на несколько интересных моментов:
разный программный код может давать один и тот же результат
теоретически, хотя крайне маловероятно, разные программы могут скомпилироваться в одинаковый код
сама компьютерная железка может быть виртуальной - тоесть все программы (в том числе операционная система) и пользователь будут думать что это компьютер, а на самом деле это хитрая программа, которая ведет себя как компьютер, и знает про это только админ
Masja, если я тебя правильно понял, в жизненном цикле классов, по крайней мере в случае языка Java, есть сходное понятие. В случае Java класс как сущность состоит на самом деле из трех сущностей:
описание логики класса (бинарный код) - "тип"
экземпляр типа класса - объект типа "Класс", существующий для каждого класса в единственном экземпляре (в рамках определенной части программы), собственно "класс", у которого уже доступны некоторые методы и поля (т.н. статические мемберы класса)
экземпляр класса - у него уже доступны нестатические мемберы, а также, что самое главное, экземпляров класса уже может быть множество, и все они будут связаны со своим "классом"
В этом случае, как мне кажется, "класс" соответствует этой самой степени экзальтации. Хотя может быть этому понятию соответствует не сам класс, а состояние класса, и состояние экземпляров класса.
Какая аналогия реала с программой? На мой взгляд, потоком исполнения будет собственно человек, причем именно человек как фокус, существующий "здесь и сейчас", а не человеческая жизнь. Переходами между методами могут быть переходы внимания из одной ситуации в другую. Причем часто я при этом действительно замечаю момент "оставления" старых данных в предыдущей области, и переход в новую область с каким-то минимальным набором необходимых данных (вызов метода с параметрами ), причем новая область, чаще всего, уже насыщена данными, оставленными от предыдущих посещений (состояние класса). Классы же можно ассоциировать с конкретными областями жизни человека, с его точки зрения, что кажется мне логичным, так как класс - несколько виртуальная структура, можно обойтись и без них.
Если подключить концепцию многопоточности - то под потоком модно представить отдельного человека. Что здесь интересно, что поток - понятие виртуальное. На самом деле физических потоков - столько сколько процессоров (не больше). А "логические" потоки формирует операционная система, выполняя их инструкции последовательно на одном процессоре. Есть над чем подумать
red_warg
Никого не хочу огорчать, но почему за основу взята фон Неймовская архитектура?
(т.к. знаю что есть и другие, но фоннеймовский вариант был более прост для того чтобы сделать ЭВМ в середине 20 века, сейчас же наблюдается тенденция к уходу от классичекой схемы)
Я согласен что теперешний комп может в некотором роде может отражать строения вселенной, но не буквально же.
nick
И вот еще интересный момент. Чтобы программа не была "вещью в себе", операционная система предоставляет ей API - интерфейс доступа к ресурсам операционной системы (набор специальных методов и/или классов). В то же время самой операционной системе и программам, запущенным в ней, доступны методы работы с "железом" - специальные регистры процессора, прерывания устройств и т.д. Причем операционная система имеет доступ к большему количеству таких методов (здесь я не совсем уверен, так что будет хорошо если кто-нибудь меня поправит).
Таким образом программа имеет возможность влиять на состояние системы в целом, и в то же время обеспечивается контроль над этим влиянием со стороны операционной системы.
red_warg, а почему, кстати, не буквально?
red_warg
Потому что, мир работает по-другому.
nick
А в чем принципиальная разница? Мне сравнение с компьютерной программой кажется вполне логичным.
lfxor
Некоторые особенности исполнения программ.
Рассмотрим программу, вычисляющую S из входных переменных a, b, e и f:
01 c = a+b
02 d = a-b
03 R = c*d
04 a = R*e
05 b = R*f
06 S = R+a+b
Программа простая. Ее особенность в том, что команды 01 и 02 могут исполняться в любом порядке или одновременно. На современных процессорах это так и произойдет - порядок исполнения будет определяться готовностью вычислительных устройств, а при надлежащем их количестве команды будут выполнены одновременно. Это же касается и команд 04 и 05. А команды 03 и 06 - "узловые" в том смысле, что исполняться одновременно с ними не может ни одна другая.
Мы привыкли думать о программах как о последовательных, но на деле нарушается либо порядок исполнения команд, либо некоторые исполняются параллельно. Это осуществляется таким образом, чтобы результат получался одним и тем же, т.е. с точки зрения программы система ведет себя так, будто команды исполняются последовательно.
Более общий вид программы следующий: есть набор т.н. А-блоков, которые представляют собой операцию (ассемблерную команду). С каждым А-блоком могут быть связаны входные переменные и выходные. Операция вычисляет выходные из входных. А-блоки могут срабатывать не в произвольном порядке, а только тогда, когда готовы все входные переменные. Срабатывание А-блоков может происходить одновременно.
Множество готовых к исполнению А-блоков по мере исполнения то увеличивается, то уменьшается. В "узловой" точке, например, будет только один А-блок.
Теперь вернемся к обычному представлению.
Вернемся во времена DOS'а. Программа могла состоять из ассемблерных команд и вызовов к операционной системе. Если программа получала управление, то могла сделать все что угодно. Операционная система служила для обеспечения различных сервисов - работа с файлами, строками и т.п. Все это можно сделать и напрямую с помощью ассемблерных команд.
Теперь все чуть чуть иначе - есть защищенный режим работы процессора и программа, получив управление, работает уже не напрямую, а "в песочнице" - может обращаться только с определенными адресами в памяти, не может напрямую обращаться к диску и т.п. - теперь она может только отправлять запросы операционке, которая делает это за него, а заодно и проверяет, дозволено ли ему это делать. В "прямом" владении остаются только безобидные процессорные команды вроде арифметических операций.
Вторая степень защиты - в ООП: методы не могут быть вызваны, если они protected или private. То же касается и атрибутов объекта. Некоторые системные функции окружения сами вызывают определенные методы объектов, например по таймеру. Можно сказать, что вызовом методов управляет система, и управление среди методов может передаваться в рамках дозволенных вызовов.
Читать дальшеИнтервал:
Закладка: