как да

8 отговора 299 прегледа
#1

как да

убия кърнъла
в смисъл да го килна и да видя кво ще стане
примерно блу скрийн оф дет или някакъв такъв шит

When money talks, the bullshit walks
and we are walking
Отговор
в отговор на bbwolf #2

Kernel panic

предполагам.

От user space бая ще се озориш. Затова ти предлагам да напишеш драйвер или да пипнеш souce-кода на някой готов, така че да прави exception. Гледай да е модул . Зареждаш драйвера и рапортуваш какво си постигнал

Отговор
в отговор на Masklin #3

Re: Kernel panic

не ставаше въпрос точно за тва (не че няма да го пробвам:))
докато си бях на упражнение по ОС и асистента изтърси някъв шит от сорта на
xkill -някакъв шит и някви други параметри като р00т ама не го запомних:(
а иначе може да му се вярва на тоя човек мноо ги разбираше нещата

#инцлуде <стдудио.х>:)
воид маин(воид)Ш(сори ма нямам скоби на кирилица)
инт а=19,б=8;
а^=б^=а^=б;
принтф(а,б);
Щ

When money talks, the bullshit walks
and we are walking
Отговор
в отговор на bbwolf #4

Re: Kernel panic

Асистентът ли ви каза, че main може да е void? Ако е така, да знаеш, че не разбира много. А с тия числени фокуси не виждам да стане нещо. xkill също не върши никаква работа, понеже той е само за убиване на графични приложения.

Kernel panic не можеш да предизвикаш, ако няма бъг в ядрото, или не го вкараш сам. Е, или ако нямаш дефектен хардуер. А да забиеш машината можеш най-лесно като изчерпиш ресурсите, ако не са сложени ограничения. Напр.fork бомба, която увеличава експоненциално броя на процесите:

#include <sys/types.h>
#include <unistd.h>
int main()
{
while (1)
fork();
return 0;
}


Или аналогично - с malloc вместо fork. Дори malloc(0) би трябвало да свърши работа.

При интензивен мрежов трафик и пуснат arpwatch също ми се е случвало забиване. Ако пуснеш, да речем, ping flood към машината с работещ arpwatch.

Ако не си с devfs, изтриването на критични у-ва в /dev също е пагубно. Няма да можеш дори да boot-неш машината повече, преди да ги възстановиш.

Отговор
в отговор на hoopla #5

И така не вярвам да пребиеш ядрото

Най-многото, което можеш да постигнеш, е да попречиш да се обработват нови заявки поради липса на ресурси. Но аналог на BSOD няма да получиш.

Всъщност, чувал съм са взети специални мерки срещу програми, изяждащи неконтролирано ресурси. Даже тук сме ги обсъждали преди време. Примерът беше с Netscape, който понякога поради бъг почва да malloc-ва безкрай ... и ядрото го убива.

Отговор
в отговор на bbwolf #6

Re: как да

probvai:
kill -9 1
ne sym imal oshte smelost da go napravia, no po silata na logikata .....
no triabva da si s root za da mojesh da napravish takova neshto

Отговор
в отговор на avenger #7

Тцъ

Дори да убиеш init процеса, ядрото си е живо и пита за още :)

Отговор
в отговор на Masklin #8

Re: Тцъ

> Дори да убиеш init процеса, ядрото си е живо и пита за още :)

Хич не ще и да го утрепе даже. Вчера, като прочетох въпроса, първата ми работа беше да спра Х-а, за да останат по-малко незатворени файлове и да направя като root:
kill -KILL 1

Игнорира ме напълно.

Отговор
в отговор на hoopla #9

Re: Тцъ

егати трудната задача
преди време като имах дефектен рам ми даваше кернел паник през 20 мин
ама явно сега като си ми е наред хардуера и кво няма начин
не ми се вярва
а иначе 10х за отговорите

When money talks, the bullshit walks
and we are walking
Отговор