абстракция работы процессора

Тема в разделе "WASM.PROJECTS", создана пользователем ALEXA_, 9 июл 2009.

  1. Wizard109

    Wizard109 New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2006
    Сообщения:
    346
    Ну чего набросились на человека ? Можно извлекать пользу :) :
    [​IMG]
    Придумал и эээ... назовем ЭТО "нарисовал" за 30 сек. Можно персональную просьбу ? Опишите этот процесс в своем стиле. Интересно сколько это займет предложений...

    Если серьезно хотите этим заняться... упростите абстракции ибо таланта писателя у вас нет(судя по написанному, а там... х/з), к тому же даже тем кто ЗНАЕТ как это работает, сложно понять то, что написано таким "абстрактным" языком... если это "с пол-тыка" поймут школьники значит мы морально устарели, и скоро придется идти подметать улицы...
     
  2. Wizard109

    Wizard109 New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2006
    Сообщения:
    346
    Сорри за даблpost :)
    Лучше это : [​IMG]
    [offtop] Процесс изготовления нужно было видеть :) 3 пьяных грхм... смотрят как 4-й показывает как работать в 3DsMax...[/offtop]
     
  3. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    Ну вот соб-но, чтото подобное я и имел ввиду, может быть даже более упрощенное. Всяко лучше несвязного текста с абстрациями.
    Wizard109
    Спасибо за старания
     
  4. Wizard109

    Wizard109 New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2006
    Сообщения:
    346
    TSS
    Да не за что. Тем более мне уже стыдно что я даже не помню как это сделал и отослал. Ночка хорошая выдалась. Кто знает что такое "за что ни возьмись - все получается" поймет :)
     
  5. ALEXA_

    ALEXA_ New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2009
    Сообщения:
    28
    ну если вы скажем так хорошенько почитатет то поймете что все ваше описание у меня занело пару фраз. например таких "весь день выполняет ценные указания записанные на ленте"))) вот и все.


    вы прочитали введение. цель абстракции показать взаимодействие сегментной и страничной адресации а . про то что вы тут сделали могу сказать только одно. красиво. но не в тему.

    пс TSS В продолжении рассказа у блокнота появится рабочее название TSS-блокнот.)))
     
  6. ALEXA_

    ALEXA_ New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2009
    Сообщения:
    28
    на сайте wasm.ru есть раздел защищенный режим. как продолжение к этому разделув в общемто и решила напечатать сей абзац своего некоторого понимания защищенного режима. точнее некоторые мысли относительно этого да и вообще работы процесора.

    творю слово в первый раз так что шибко сильно не ругайте.

    Как таковой человек думает и мыслит реальными объектами причем эти объекты
    он когдато видел или смог себе как то нарисовать в воображении . поэтому что бы понять работу некоторого процеса он должен это увидеть или представить. в данном случае мы ведем реч о понимании работы процессора в защищенном режиме. И главный вопрос а что представлять себе в этом случае?.

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

    По мере повествования наша абстрактная модель будет усложняться.


    Часть 1 Простенький мужик.)))).

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



    По сути говоря процессор выполняете некоторые команды которые записаны в памяти.


    Роль памяти я отдам железной белой ленте которая поделена поперек черными толстыми полосками на бесчисленное количество ячеек. Кроме того каждая ячейка поделена горизонтальной черной линией которая делит ячейку на две части. Верхнюю и нижнюю.
    Свойства ячеек таковы что в верхнюю ячейку я могу записать число от 00000000b до 11111111b (от 00 до FF) в нижних ячейках будут записаны номера. Номер будет иметь разрядность 32b то есть все ячейки будут пронумерованы от 00 00 00 00 до FF FF FF FF соответственно длина нашей ленты будет FF FF FF FF (4гига по прастецки)))))(номера эти ничем стереть нельзя )Пока можем сказать что получим ленту ячеек и ленту номеров этих ячеек.


    Ленту поместим на подставку и занесем в длинную комнату.
    Роль логической составляющей процессора отдам мужику с карандашом, стирательной резинкой, блокнотом и книжкой ценных указаний. Об оснастке мужика. Ну карандаш ему необходим для записывании числел в верхних ячейках и на страницах блокнота. Стирательная резинка будет необходима для стирания того что написано в блокноте и в верхних ячейках ленты. О блокноте. Все страницы блокнота будут пронумерованы от 0 до 20h на одной странице блокнота можно записать число которое будет иметь 32 разряда соответственно на странице можно записать число от 00 00 00 00 до FF FF FF FF.
    Если делать аналогии с процессором то блокнот по своей сути набор регистров процессора.
    Я решила что вторая страница будет равноценна регистру EIP на девятой странице пусть пока побудет EAX.

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

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

    Теперь как это выглядит.
    Проходит мужик мимо проходной. На проходной встречает представителя администрации «завода» . Этот представитель вручает нашему мужику блокнот все страницы этого блокнота содержат 00 00 00 00 кроме второй. На которой написано число (AF 02 A4 0D). Мужик приходит к себе в комнату. В комнате лежит на подставке наша лента с пронумерованными ячейками. Мужик смотрит на вторую страницу блокнота , видит там номер AF 02 A4 0D это будет номер его «рабочей» ячейки. Он обязан подойти к этой ячейке посмотреть на число которое будет записано в этой ячейке и выполнить ценное указание которое он найдет для этого номера.

    Например: пусть в ячейке с номером AF 02 A4 0D будет написано число F3 мужик в своей книжке с ценными указаниями находит описание инструкции под номером F3.


    Пример блокнота
    AF 02 A4 0D

    Пример ленты

    06 F3 D6 23 3D 23 F4
    AF 02 A4 0C AF 02 A4 0D AF 02 A4 0E AF 02 A4 0F AF 02 A4 10 AF 02 A4 11 AF 02 A4 12


    Пример листа из книжки ценных указаний

    F2 …
    F3 Мужик !!! это ценное указание занимает 5 ячеек поэтому адрес следующей рабочей ячейки ты узнаешь прибавив к числу которое у тебя записано на второй странице блокнота число 5(AF 02 A4 0D +5). в следующих четырех ячейках записан номер ты должен взять этот номер подойти к ячейке с этим номером и записать все что записано в этой ячейке на 9 страницу своего блокнота предварительно стерев все что там было записано до этого. И давай мужик пошевелевайся MOV [D6233D23DF],EAX
    F4 Мужик !!! это ценное указание занимает 5 ячеек так что номер следующей «РАБОЧЕЙ» ячейки ты узнаешь прибавив к числу которое у тебя записано на второй странице блокнота число 5. ты должен открыть свой блокнот на 8 странице и записать туда число 00 00 AA AA.

    Как выполняется: мужик из следующих 4х ячеек берет номер
    D6233D23DF (пока пусть будет так)
    Подходит к ячейке с номером D6233D23DF пусть там будет записано число FF открывает свой блокнот на 9 странице стирает все что там было записано и записывает тутда число 00 00 00 FF. Теперь мужик в принципе выполнил все что было написано в книге ценных указаний для номера F3. теперь мужик должен вычислить адрес новой «РАБОЧЕЙ» ячейки для этого он прибавляет к числу AF 02 A4 0D +5 = AF 02 A4 12 и записывает это число на вторую страницу блокнота. И так весь рабочий день.
    Кстати блокнот, после выполнения инструкции номер которой взят из рабочей ячейки с номером AF 02 A4 0D будет выглядеть примерно так


    AF 02 A4 0D 00 00 00FF

    Все страницы блокнота рисовать не буду.

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


    Такова простая модель работы процессора.



    Часть 2 Девчонка.



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

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


    Для начала добавим на рабочее место мужика доску для рисования . На этой доске можно нарисовать число от 00 00 00 00 до FF FF FF FF.

    Разукрасим блокнот мужика следующим образом
    Страницы 1-2 в красный цвет
    Страницы 3-4 в синий цвет
    Страницы 5-6 в зеленый цвет.
    (остальные пускай будут белые )

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

    Кроме того произойдут небольшие изменения в описании ценных указаний.

    Как и что происходит в модели.


    Мужик идет на работу. В это время в комнату заходит человек с администрации нашего завода пишет на доске число 00 00 00 00. девченка сидит ждет мужика. Подходит к ячейке номер которой совпадет с числом записанному на доске. (число 00 00 00 00 )
    Подходит к этой ячейке и в первых 8 ячейках записывает пару чисел.
    00 00 00 00, 00 00 00 00,
    В следующих 8 ячейках записывает еще одну пару чисел
    00 АА АА АА, 00 00 45 34.
    В следующих 8 ячейках записывает еще одну пару чисел.
    00 ВВ ВВ ВВ , 00 70 АА АА
    В следующих 8 ячейках записывает еще одну пару чисел
    00 СС СС СС, 00 00 55 55.
    Еще раз напомню что в одной ячейке можно записать чило от 00 до FF.
    Записывает числа на ленте выключает свет и оставляет девчонку в темноте ждать мужика.



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

    1 красная страница 00 00 00 01.
    2 красная страница 00 00 00 45
    3 синяя страница 00 00 00 02
    4 синяя страница 00 00 00 00
    5 зеленая страница 00 00 00 03
    6 зеленая страница 00 00 СС СС.

    Остальные страницы пускай пока будут пустыми.

    Мужик берет этот блокнот у администрации завода и идет к себе в комнату с лентой где его ждет девчонка. Заходит дверь за ним закрывается ТЕМНОТА. Мужик ваще ничерта не видит. Девчонка наоборот видит все. Как никак в очках ночного видения. Девчонка смотрит на доску на которой человек из администрации нарисовал число. Подходит к ячейке номер которой соответствует номеру на доске. Номер этот 00 00 00 00.

    Потом девчонка смотрит на 1 красную страницу блокнота мужика.
    Берет число с этой страницы 00 00 00 01 умножает его на 8 получает 00 00 00 08 подходит к ячейке с номером 00 00 00 08 и начиная с этой ячейки берет пару чисел которую до этого записал человек из администрации. Это числа 00 АА АА АА, 00 00 45 34. девчонка подходит к ячейке с номером 00 АА АА АА отмеряет рулеткой 00 00 45 34 ячек и зажигает над этими ячейками и рулектой красный свет. ПРИЧЕМ ЗАЖИГАЕТ ЕГО ТАКИМ ОБРАЗОМ ЧТО НОМЕРА КОТОРЫЕ ЗАПИСАНЫ НА НИЖНЕЙ ЧАСТИ ЯЧЕЕК ОСТАЮТСЯ В ТЕМНОТЕ. А СВЕТ ОСВЕЩАЕТ ВЕРХНЮ ЧАСТЬ ЯЧЕЙКИ И НОМЕРА РУЛЕТКИ. ОПА мужик стоял в темноте и опана видит сегмент ячеек которые освещены красным светом и пронумерованы с помощью рулетки. ЕЩЕ РАЗ повторю номеров ячеек которые записаны в нижней части ячейки он не видит. Короче мужик немного обрадовался что увидел ячейки освещенные красным цветом. Дальше девчонка смотрит на синюю страницу номер 3 блокнота видит там число 00 00 00 02. Она умножает это число на 8 получает число 00 00 00 10 подходит к ячейке с этим номером и берет еще одну пару чисел которую до этого оставил человек администрации. Это будет пара 00 ВВ ВВ ВВ , 00 70 АА АА она опять подходит к ячейке 00 ВВ ВВ ВВ отсчитывает от нее рулеткой 00 70 АА АА ячеек и включает на этими ячейками синюю подсветку. Опана мужик ваще обрадовался он уже видит сегмент пронумерованных рулеткой ячеек красного цвета теперь к нему прибавился ещео один сегмент пронумерованных рулеткой ячеек синего цвета. Дальше больше девчонка смотрит на 5 зеленую страницу блокнота мужика видит число 00 00 00 03 она умножает это число на 8 получает 00 00 00 18 подходит к ячейке у которой номер соответствует 00 00 00 18 и берет еще одну пару чисел которые оставил человек администрации. Это будет числа 00 СС СС СС, 00 00 55 55 он опять подходит к ячейке с номером 00 СС СС СС отсчитывает рулеткой 00 00 55 55 ячеек и включает над рулеткой и ячейками зеленый свет. Мужик теперь видит три сегмента ячеек разного цвета в каждом сегменте ячейки пронумерованы с помощью рулеток из набора девчонки..

    Ну теперь девчонка начинает отдыхать а мужик начинает свою обычную работу.

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

    Пример ценного указания приведу в упрощенной форме.

    11 - мужик запиши в синей ячейке под рулеточным номером 00 00 00 87 число 78.
    12 – мужик запиши число из синей ячейки под рулеточным номером 00 00 00 ВА в блокнот на страницу 14
    13 – мужик запиши число из блокнота на странице 15 в ячейках синего цвета начиная с номера 00 00 00 05.


    Теперь немного подгонки. Как уже говорила страницы блокнота у нас выполняют роль регистров процессора причем
    1 страница ECS
    2 - - - --- - EIP
    3 - - -- - -- EDS
    4 - - - -- - EDX
    5 - - - - - - - ESS
    6- - - - - - -- ESP

    Числа которые записаны на страницах 1 3 5 в простонародье принято называть СЕЛЕКТОРАМИ. Доска для рисования выполняет роль регистра GDTR. Сама таблица пар чисел КОТОРУЮ ОСТАВИЛ ЧЕЛОВЕК АДМИНИСТРАЦИИ называется глобальной таблицей дескрипторов. Она как видно состоит из пар чисел. Одна пара вкупе называется ДЕСКРИПТОР. Как видно что мужик видит только ячейки из освещенных сегментов. То есть мужик не увидит ячеек и не сможет с ними работать если они не освещены. А освещение и нумерацию делает девчонка на основании пар чисел которые оставил человек администрации. Не будет описания не будет и света. Пара чисел с номером 00 00 00 00 из таблицы не используется. Тремя цветами обозначила сегмент кода сегмент данных и сегмент стека. Пока договоримся что одной задаче достаточно 3х таких сегментов. То есть для одной задачи необходимо описать три сегмента ячеек. Это сегменты кода данных стека. У меня они еще и разукрашены в разные цвета.
    Пока пары чисел подобраны таким образом что они не пересекаются. То есть нет таких ячеек которые освещены и красным и синим или зеленым цветом одновременно.

    Ну вот в принципе и есть абстрактная модель сегментной адресации.

    Часть 3 блокноты и задачи.

    Эта часть основана на абстрактной модели описанной в части номер 2. числа
    Произведем небольшую модернизацию рабочего места мужика.


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

    4 пара чисел сегмент кода второй задачи
    5 пара чисел сегмент данных второй задачи
    6 пара чисел сегмент стека второй задачи

    7 пара чисел сегмент кода третьей задачи
    8 пара чисел сегмент данных третьей задачи
    9 пара чисел сегмент стека третьей задачи.

    Мужик также проходит проходную заходит в кабинет администрации и получает разноцветный блокнот ПОД НОМЕРОМ 1 на 1 3 и 5 странице которого записаны

    1я. страница 00 00 00 01
    3 я. Страница 00 00 00 02
    5 я. Страница 00 00 00 03

    На 2 4 6 странице разумеется тоже что то записано(кто разобрался во второй главе тот сам может ДОДУМАТЬ И ПРИДУМАТЬ ЧИСЛА.)

    Мужик также входит в темную комнату а девчонка используя табличку для рисования и таблицу которую оставил человек из администрации зажигает свет над сегментами которые описаны парами чисел в таблице которую оставил человек из администрации под номерами 00 00 00 01, 00 00 00 02, 00 00 00 03.




    Теперь по сигналу тревоги которою включает администрация мужик должен выполнить последнее ценное указание и выйти из комнаты в кабинет администрации.
    В этот момент девчонка сматывает рулетки выключает подсветку. Садится и ждет мужика.
    Мужик входит в кабинет администрации СДАЕТ СВОЙ БЛОКНОТ ПОД НОМЕРОМ 1 И ПОЛУЧАЕТ БЛОКНОТ ПОД НОМЕРОМ 2. в этом блокноте на страницах 1 3 5 напечатаны числа


    1я. страница 00 00 00 04
    3 я. Страница 00 00 00 05
    5 я. Страница 00 00 00 06

    В этом блокноте Также заполнены страницы 2 4 6 ( у меня трудность с придумыванием чисел так что сами числа придумаю позже………….)))))


    Мужик берет блокнот возвращается назад к себе в комнату. Там опять темнота девчонка опять начинает работать опять зажигает и нумерует сегменты ячеек но теперь она уже зажигает сегменты которые описаны парами чисел в таблице которую оставила администрация под номерами 00 00 00 04, 00 00 00 05 и 00 00 00 06.


    Мужик опять приступает к работе но уже на других освещенных ячейках нашей ленты

    Потом опять серена опять смена блокнота опять работа опять серена опять смена блокнота.

    Потом опять сирена мужик приходит в кабинет администрации и получает опять БЛОКНОТ ПОД НОМЕРОМ 1 мужик продолжает работу с той ячейки которую он записал в БЛОКНОТ НОМЕР 1 НА второй странице своего блокнота перед тем как он его обменял в комнате администрации на БЛОКНОТ НОМЕР 2.

    ОДИН БЛОКНОТ ОДНА ЗАДАЧА


    Если присмотреться то мужик всегда работает только с одним блокнотом. Но меняет он блокноты довольно быстро. Что если посмотреть со стороны в течении длительного времени может показаться что мужик выполняет несколько задач одновременно.


    (В этом моменте я бы хотела дать вам одну наметку на будущее. А ведь роль администрации выполняет тотже наш мужик только на другом блокноте. Но все это еще очень и очень впереди…..)


    Вот такая мультизадачность. Процессор у нас один. Так что и задачу он выполняет только одну.




    Часть 3 куски и стеллажи.


    Вообще то если так прикинуть то если бы не было страничной адресации то не было бы и самой книжки. Вся суть работы практически всех операционных систем основана на использовании страничной адресации. Именно ее использует моя любимая операционная система win xp. …. Именно благодаря ей мы можем получить 64 терабайт адрсного пространства.


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





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

    Так вот наша лента состоит из ленты ячеек и ленты номеров ячеек. пока мужик идет на работу наша девчонка решила немного модернизировать рабочее место мужика. Напомню что наша железная лента состоит из двух лент. Лента номеров ячеек и лента самих ячеек. она распиливают ленту вдоль. То есть отделяют ленту ячеек от ленты номеров. НО СРАЗУ ИХ НЕ РАСТАСКИВАет они пока так и лежат друг рядом с другом. То есть у ячеек еще есть номера. Дальше девчонка начинает нарезать ленту кусками по F FF FF ячеек. причем отрезая кусок от ленты она нумерует. Заметим что при такой длине куска номер куска будет равен числу полученному из первых 12 разрядов номера ячейки. То есть если ячейка имела номер

    45 4A 54 D4 или 100010101001 0100101010011010100 в двоичной то номер куска

    Будет 100010101001

    По мере нарезания количество кусков увеличивается поэтому поставим девчонке стеллаж куда она может по порядку складывать отрезанные и пронумерованные куски.

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

    Девчонке дадим длинный стол на который она одновременно может выложить 20 кусков ячеек из стеллажа. Кстати разрезав ленту длиной FF FF FF FF ячеек мы получим 1000 h
    Пронумерованных кусков.

    Этот стол и будет выполнять роль нашей реальной оперативной памяти в 128мегабайт.

    Вдоль всего стола будет натянута рулетка. Рулетка обладает теми же свойствами что и рулетки из набора девчонки.


    Все


    Теперь как это все взаимодействует.


    Мужик идет на работу. В это время в команту заходит человек администрации. Записывает на доке число 00 00 00 00 подходит к ленте с пронумерованными пустыми ячейками. Подходит к ячейке под номером 00 00 00 00 девченка видит что человеку понадобилась ячейка под номером 000000000000 0000000000000000000 b она по первым двенадцати знакам определяет что необходим кусок из стеллажа под номером 000000000000 b. ДАЕТ ЧЕЛОВЕКУ ЗНАК ОБОЖДАТЬ вытаскивает этот кусок и выкладывает его на стол. Ну так как стол был пустым до этого то кусок этот она выкладывает таким образом что первая ячейка куска ложится напротив номера 00 00 00 00 рулетки стола. (хотя могла положить как захочет.))) и копирует все что записано в первой ячейке куска в первуя ячейку нашей ленты (для наглядности допустим что в этой ячейке было записано AD). ДАЕТ ЧЕЛОВЕКУ ЗНАК ЧТО МОЛ ВСЕ ГОТОВО К РАБОТЕ. Человек смотрит на ячейку ленты под номером 00 00 00 00 там записано AD. Человек стирает число AD и записывает в ячеку ленты под номером 00 00 00 00. число 00. девчонка обязана теперь изменить значение в связной ячейке на своем столе.

    Человек подходит к ячейке под номером 00 00 00 01 девченка видит что человеку понадобилась ячейка под номером 000000000000 0000000000000000001 b ДАЕТ ЧЕЛОВЕКУ ЗНАК ОБОЖДАТЬ она по первым двенадцати знакам определяет что необходим кусок под номером 000000000000 b. Девчонка смотрит на стеллаж и видит что этот кусок уже на столе. Подходит к этому куску отмеряет количество ячеек число которых равно числу в 20 младших разрядах адреса ячейки к которой подошел человек. Берет число которое записан в этой ячейке и записывает его в ячейку ленты под номером 00 00 00 01. (пусть для наглядности это будет FF) ДАЕТ ЧЕЛОВЕКУ ЗНАК ЧТО МОЛ ВСЕ ГОТОВО К РАБОТЕ. Человек смотрит на ячейку под номером 00 00 00 01 видит там число FF. Человек стирает это число и записывает в ячейку 00. Девченка обязана записать в связной ячейке число 00. Таким Макаром человек администрации записывая числа на ячейках ленты с помощью девчонки записывает числа в ячейках куска ленты из стеллажа.


    Все остальное работает как и работает в модели описанной в главе 2 и 3. человек из администрации с помощью девчонки заполняет таблицу(в народе таблица дескрипторов. По определению первый дескриптор в этой таблице должен быть заполнен 00. тоесть первые 8 ячеек таблицы человек админитрции заполнет 00). Которая служит для включения подсветки и нумерации ячеек необходимых для работы нашего мужика.

    Все человек заполнил таблицу (пусть таблица будет из главы 2 )

    00 00 00 00, 00 00 00 00,
    00 АА АА АА, 00 00 45 34.
    00 ВВ ВВ ВВ , 00 70 АА АА
    00 СС СС СС, 00 00 55 55.


    Ладна. Покажу как человек запишет на куске ленты в ячейку под номером 00 00 00 32 от начала этого куска.

    Человек подходит к ячейке ленты под номером 00 00 00 32 девчонка видит что человек будет работать с ячейкой 00 00 00 32 ОНА ДЕЛАЕТ ЗНАК ЧЕЛОВЕКУ ПОДОЖДАТЬ
    по первым двенадцати разрядам номера необходимой ячейки она понимает что ей необходим кусок ячеек из стеллажа под номером 000000000000 b девчонка смотрит на стеллаж видит что этот кусок уже на столе.
    Подходи т к этому куску отмеряет от его певрой ячейки 00 00 00 32 ячейки и записывает число которое было записано в ячейке в ячейку ленты под номером 00 00 00 32 (пусть там было11) ДАЕТ ЧЕЛВЕКУ ЗНАК ЧТО МОЛ ВСЕ ГОТОВО. Человек смотрит на ячейку с номером 00 00 00 32 видит там число 11 стирает это число и записывает число 55 девчонка видит что человек поменял число поэтому меняет число и в связанной ячейке на куске который лежит на столе. Таким образом на куске ленты под номером 000000000000b в ячейке которая находится под номером 32 появлеется число 55
    В куске появляется таблица :


    000000000000000000АААААА0000453400ВВВВВВ0070АААА00СССССС00005555.
    Во!!
    После этого человек администрации выключает свет и идет к себе в кабинет. Кусок ленты из стеллажа остается лежать на столе девчонки.
    Мужик подходит к проходной. Заходит в кабинет администрации получает свой разноцветный блокнот


    1 красная страница 00 00 00 01.
    2 красная страница 00 00 00 45
    3 синяя страница 00 00 00 02
    4 синяя страница 00 00 00 00
    5 зеленая страница 00 00 00 03
    6 зеленая страница 00 00 СС СС.

    девчонка смотрит на 1ю красную страницу блокнота умножает это число на 8 прибавляет к результату число записанное человеком администрации на доске получает

    00 00 00 01 * 8 +00 00 00 00 =00 00 00 08

    Из главы 2 видно что девчонке необходима пара чисел. Пара чисел занимает 8 ячеек.
    Первая ячейка этой пары имеет номер 00 00 00 08 девушка по первым 12 разрадам номера видит что ей необходим кусок с номером 000000000000. подходит к стеллажу видит что кусок уже лежит на ее рабочем столе. Подходит к своему столу находит необходимый куску отмеряет 00 00 00 08 ячейку
    И начиная с ячейки 00 00 00 08 копирует 8 ячеек на ленту.
    Подходит к ленте берет начиная с 00 00 00 08 ячейки пару чисел
    На ленте девчонка видит числа


    00 АА АА АА, 00 00 45 34.

    Дальше все как и должно быть девченка включает красное освещение над ячейками ленты начиная с ячейки 00 АА АА АА и до ячейки AAAEFD (длина сегмента 00 00 45 34 ячеек ) разматывает рулетку номера которой будут нумеровать ячейки ленты.


    Дальше девчонка смотрит на 3ю синюю страницу блокнота умножает это число на 8 прибавляет к результату число записанное человеком администрации на доске получает

    00 00 00 02 * 8 +00 00 00 00 =00 00 00 10

    Из главы 2 видно что девчонке необходима пара чисел. Пара чисел занимает 8 ячеек.
    Первая ячейка этой пары имеет номер 00 00 00 10 девушка по первым 12 разрадам номера видит что ей необходим кусок с номером 000000000000. подходит к стеллажу видит что кусок уже лежит на ее рабочем столе. Подходит к своему столу находит необходимый куску отмеряет 00 00 00 10 ячейку
    И начиная с ячейки 00 00 00 10 копирует 8 ячеек на ленту.
    Подходит к ленте берет начиная с 00 00 00 10 ячейки пару чисел
    На ленте девчонка видит числа


    00 ВВ ВВ ВВ , 00 70 АА АА


    Дальше все как и должно быть девченка включает синее освещение над ячейками ленты начиная с ячейки 00 ВВ ВВ ВВ и до ячейки BC2C6665 (длина сегмента 00 70 АА АА ячеек ) разматывает рулетку номера которой будут нумеровать ячейки ленты.

    Можно конечно скопировать ее действия с 5 зеленой страницей блокнота но не буду.



    Кроче мужик опять видит три освещенных сегментов железной ленты. !!!!!

    Мужик смотрит на вторую красную страницу блокнота.( 2 красная страница 00 00 00 45) подходит к сегменты ленты который освещен в красны цвет
    Подходит к номеру рулетки 00 00 00 45.

    девченка видит что мужику необходима красная ячейка под рулеточным номером 45.
    ОНА ДАЕТ МУЖИКУ КОМАНДУ ОБОЖДАТЬ.
    Девчонка смотрит на номер ячейки который не видит мужик это будет номер
    00 АА АА АА+ 00 00 00 45=00 AA AA EF = 000000001010 10101010101011101111 b

    Девчонка по первым 12 разрядам адреса видит что ей необходим кусок из стеллажа с номером 000000001010 она вытаскивает этот кусок из стеллажа и кладет его на свой стол

    Пусть кусок под номером 000000001010 ляжет на стол рядом с куском 000000000000

    Рулетка стола покажет что первая ячейка куска 000000001010 совпадет с номером
    00 10 00 00 девчонка подходит к этому куску отсчитывает от начала куска 00 0A AA EF ячейку и записывает ее содержимое на ленту мужика в ячейку 00 AA AA EF(пускай это будет число 57) ДАЕТ МУЖИКУ КОМАНДУ ЧТО РАБОТАТЬ ДАЛЬШЕ МОЖНО. Мужик смотрит на красную ячейку под рулеточным номером 00 00 00 45 и видит там число 57.


    Так вот так происходит с каждой ячейкой необходимой мужику.

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



    немного доработано.

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


    если присмтреться то данная абстракция можжет работать только внутри 4г. адресного пространства.


    пока занималась только редактированием нового только в последней главе.

    так что продолжение завтра.











    .
     
  7. Wizard109

    Wizard109 New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2006
    Сообщения:
    346
    ALEXA_
    Ну... от темы это не очень зависит. Мне кажется так "думает" достаточно много человек :)

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

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

    Я бы все-же советовал обратиться к документации крупных проектов, и посмотреть как архитектор обрисовывает "внешний вид" будущей программы. Хотя... если вы считаете что ваш вариант все-же понятней... я умываю руки :)
     
  8. ALEXA_

    ALEXA_ New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2009
    Сообщения:
    28
    за мнение спасибо.
    правда есть одина проблема процесы которые описываю я отладчиком не увидишь)))) (хотя есть режим работы процессора в котором это возможно увидеть но это уже другая история))) про то что человек из администрации это тот же мужик я уже печатала правда это был всего лишь намек.

    а что насчет зверинца так это еще на воротах одного заведения было здоровенными буквами выведено "каждому свое"((
     
  9. Wizard109

    Wizard109 New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2006
    Сообщения:
    346
    ALEXA_
    Бухенвальд - то туд причем ? :)
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    ALEXA_
    #66 фигасе текст %)
    Можно проще обьяснить, "ячейка" какоето понятие искажённое. Есть группа цифровых устройств, называется регистрами: защёлки, сдвиговые регистры, шинные буфера и пр., работают очень просто, память - это множество таких регистров, положение которого определяется адресом его. Дальше вы должны использовать поиск.
     
  11. ALEXA_

    ALEXA_ New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2009
    Сообщения:
    28
    жара. пока следующую часть печатать не буду но обрисую общую картину.
    зачем мне понадобилась работа девчонки по копированию ячеек из куска на ленту и из ленты на кусок если они были изменены мужиком. так вот наша ленты с пустыми ячейками и есть линейное адрсеное пространсво. в этой модели куски ленты на стелаже можно уже назвать виртуальным адресным пространосвом. лента символизирует своим присутствием работу сегментной адресации. рабта девчоки по выкладыванию кусков и копированию содержимого ячеек символизирует собой рабту по преобразованию адреса из сегментной адресации в адрес страничной адресации.


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


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

    Clear__Energy New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2009
    Сообщения:
    432
    твайумать...
     
  13. Clear__Energy

    Clear__Energy New Member

    Публикаций:
    0
    Регистрация:
    30 янв 2009
    Сообщения:
    432
    я искренне сочувствую тем людям, которые буду постигать работу процессора по этим этюдам...
     
  14. Wizard109

    Wizard109 New Member

    Публикаций:
    0
    Регистрация:
    6 ноя 2006
    Сообщения:
    346
    Clear__Energy
    +10. Паццтулом :)
     
  15. _220

    _220 New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2006
    Сообщения:
    111
    Давайте найдем какого-нибудь новичка-осеписателя и "воздействуем" на него этим маном. Интересно будет посмотреть....
     
  16. ALEXA_

    ALEXA_ New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2009
    Сообщения:
    28
    ага только для эксперемента нужно будет найти дугова новичка и воздействовать на него руссиновичем с соломоновым.)))


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


    я же говорю что это не конечный вариант. я показываю что от чего зависит и что во что перейдет. некоторые части можно упростить уже сейчас.
     
  17. c4m310t

    c4m310t New Member

    Публикаций:
    0
    Регистрация:
    19 дек 2008
    Сообщения:
    237
    ALEXA_
    М. Руссинович и Д. Соломон то тут причем ?!
    -----------
    А опыты на людях запрещены, да и аморально как то ломать человеку жизнь подобным экспериментом... =\
     
  18. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    _220
    ты короче закопипасти этот труд затаись гденибудь в assembler, beginers или projects и как только появиться какой нить нубик скажет о том что хочет свою ось писать - ты на него этот труд и вывалишь

    как вариант создать выделеный топик в heap с названием как у Great в os.kernel и содержание от сюда закопипастить
     
  19. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    Ну вобщем идею то можно развить данный труд перевести и отпраить Русиновичу и Соломону и 5 издание Inside Winows Nt выйдет для пятикласников