А за твои видео отдельное спасибо, очень познавательно, а еще хороший показатель количества смысла вкладываемого в минуту, без воды так сказать, круто!)
16:11 на самом деле это изрядное упрощение и не совсем правда. Во-первых, сама таблица выровнена, т.е. занимает ровно одну страницу. И соответстенно, не всегда все записи внутри одной таблицы ссылаются на корректные страницы (в т.ч. на страницы с таблицами другого уровня) - в этом суть экономии памяти в страничном режиме, что не нужно все адресное пространство адресовывать без необходимости. А значит, в каждой записи есть бит присутствия, который надо проверять, прежле чем пытаться отдать адрес. Во-вторых, битов доступа там несколько - на запись, исполнение и т.п. В long mode встречаются 4 уровня таблиц, два из которых могут быть финальными - т.е. ссылаться на страницы 2 MiB и 1 гигабайт, и все эти биты тоже нужно проверять в процессе выдачи адреса. Ну и, конечно, до 4 записей нужно сосчитать, прежде чем проц будет готов применить оффсет к адресу конечной страницы
Что бы не было описок при написании множественных нулей и единиц, давно же придумали разделять пробелом, например каждые 4 цифры или даже каждые 8, если большое число)
почему всё на ОС списывается? ОС организует таблицу. всё остальное делает сам процессор. пишу я такой mov al, volodya. откомпилировал, слинковал, запустил. В какой момент при выполнении этой mov подключится в работу ОС? всё сделает процессор. чё надо сравнит, с чем надо сложит
Спасибо Вам огромное за понятное и подробное объяснение темы!
А за твои видео отдельное спасибо, очень познавательно, а еще хороший показатель количества смысла вкладываемого в минуту, без воды так сказать, круто!)
Спасибо Вам, очень качественно изложено!)
Спасибо, очень интересно!
Очень доходчиво
16:11 на самом деле это изрядное упрощение и не совсем правда. Во-первых, сама таблица выровнена, т.е. занимает ровно одну страницу. И соответстенно, не всегда все записи внутри одной таблицы ссылаются на корректные страницы (в т.ч. на страницы с таблицами другого уровня) - в этом суть экономии памяти в страничном режиме, что не нужно все адресное пространство адресовывать без необходимости. А значит, в каждой записи есть бит присутствия, который надо проверять, прежле чем пытаться отдать адрес. Во-вторых, битов доступа там несколько - на запись, исполнение и т.п. В long mode встречаются 4 уровня таблиц, два из которых могут быть финальными - т.е. ссылаться на страницы 2 MiB и 1 гигабайт, и все эти биты тоже нужно проверять в процессе выдачи адреса. Ну и, конечно, до 4 записей нужно сосчитать, прежде чем проц будет готов применить оффсет к адресу конечной страницы
4:40 не в одном байте, а в двух
11:12 - спасибо, угарнул ахахахах
Спасибо за прекрасные уроки! У вас очень хорошо получается объяснять. Будут ли уроки связанные с математикой?
Что бы не было описок при написании множественных нулей и единиц, давно же придумали разделять пробелом, например каждые 4 цифры или даже каждые 8, если большое число)
почему всё на ОС списывается? ОС организует таблицу. всё остальное делает сам процессор. пишу я такой mov al, volodya. откомпилировал, слинковал, запустил. В какой момент при выполнении этой mov подключится в работу ОС? всё сделает процессор. чё надо сравнит, с чем надо сложит
Володя, здравствуйте, немогу сам разобраться с моментом адресации, 3я колонка, что надо пересмотреть может видео есть а я найти не могу
Привет. Одно не понял, как эта таблица делает соответствие адресов страниц на адреса физической памяти дальше?
13:23 а почему вы 12 бит размещаете в 13? Это особенность адресации?
Если инкрементировать число 0001111111111111, получится 0010...0
при этом часть страниц хранится в файле подкачки?
Там не 12 бит 😂😂😂