Как заставить Haskell работать на Ubuntu 13

Поскольку большинство программ работают в пользовательском режиме, а ОС работает в режиме ядра. Режим ядра близок к физическому оборудованию (они говорят близко к металлу ). Программы режима ядра (ОС, некоторые службы, драйверы и т. Д.) Работают в кольце 0 процессора. Программы пользовательского режима работают на более высоком кольце. Программы пользовательского режима, работающие на кольце N процессора, не могут получить доступ к программам или памяти, работающим на чем-либо меньшем N. Если они попытаются, они не будут разрешены!

Все программы получают свой логический адрес, а ОС назначает его , ОС выполняет логическую и физическую адресацию, когда программа пытается прочитать или записать некоторую память. Если программа пытается получить доступ к адресу, в котором у него нет разрешения, ОС выдает исключение. Это исключение может обрабатываться самой программой (локальным обработчиком исключений, в том же потоке). Если нет, любой подключенный глобальный обработчик исключений. Отладчик также может входить в изображение, если локальная EH не справляется с этим. Это зависит от ОС, того, как / когда маршрутизировать исключение в отладчик и / или глобальный обработчик исключений. Это также зависит от типа исключения (например, доступа с нулевым указателем), если ОС позволяет локальному / глобальному / отладчику обрабатывать его или нет. Если никто не справится с этим, ОС завершит процесс (и, возможно, создаст аварийный дамп, дамп ядра сбоя сегментации).

Если процесс, который он не отлаживает (зависит от Windows) и какой-то отладчик, OS может позволить пользователю отлаживать его.

Если программа режима ядра делает что-то неприятное, это приведет к отключению ОС. Я не парень Linux, поэтому не знаю поведения Linux. Но, в случае Windows, BSOD украсит ваш монитор синим цветом!

35
задан trusha 9 May 2019 в 13:04
поделиться