lp0 i brand

lp0 on fire (även känd som Printer on Fire ) är ett föråldrat felmeddelande som genereras på vissa Unix- och Unix-liknande datoroperativsystem som svar på vissa typer av skrivarfel . lp0 är Unix- enhetshandtaget för den första radens skrivare , men felet kan visas för alla skrivare som är anslutna till ett Unix- eller Linux- system. Det indikerar ett skrivarfel som kräver ytterligare utredning för att diagnostisera, men inte nödvändigtvis att det brinner.

Skrivarens brandfarlighet

I slutet av 1950-talet var höghastighets datoriserad utskrift fortfarande ett något experimentellt område. Den första dokumenterade brandstartande skrivaren var en Stromberg-Carlson 5000 xerografisk skrivare (liknande en modern laserskrivare , men med en CRT som ljuskälla istället för en laser), installerad omkring 1959 vid Lawrence Livermore National Laboratory och modifierad med en utökad fixeringsugn för att uppnå en utskriftshastighet på en sida per sekund. I händelse av ett tryckstopp, och ibland under normal drift, skulle smältugnen värma papper till förbränning. Denna brandrisk förvärrades av det faktum att om skrivaren fortsatte att fungera skulle den mata en brand med färskt papper i hög hastighet. Det finns dock inga bevis för att meddelandet "lp0 on fire" dyker upp i någon dåtida mjukvara.

När tekniken mognade var de flesta stora skrivarinstallationer trumskrivare , en typ av slagskrivare som kunde skriva ut en hel rad text på en gång genom att använda en höghastighetsroterande trycktrumma. Det ansågs [ av vem? ] att i händelse av ett allvarligt pappersstopp skulle friktionen av papper mot trumman kunna antända antingen själva papperet, eller, i en smutsig maskin, det ansamlade papper och bläckdamm i mekanismen. Om detta någonsin hände är inte känt; det finns inga rapporter om friktionsrelaterade skrivarbränder.

Linjeskrivaren använde en serie statuskoder, specifikt redo , online och check . Om onlinestatusen var inställd på "av" och kontrollstatusen var inställd på "på", skulle operativsystemet tolka detta som att skrivaren tar slut på papper. Men om onlinekoden var inställd på "på" och kontrollkoden också var inställd på "på", betydde det att skrivaren fortfarande hade papper, men det uppstod ett fel (och kanske fortfarande försöker köra). På grund av de potentiellt farliga förhållanden som kan uppstå i tidiga linjeskrivare, visade Unix meddelandet "on fire" för att motivera alla systemoperatörer som tittar på meddelandet att gå och kolla på linjeskrivaren omedelbart.

I början av 1980-talet skapade Xerox en prototyp av laserskrivarmotor och levererade enheter till olika datorföretag. För att smälta samman tonern passerade pappersbanan en glödande tråd. Om papper fastnade någonstans i banan fattade arket i fixeringsenheten eld. Prototypen av UNIX-drivrutinen rapporterade pappersstopp som "brännande". Senare tryckmotormodeller använde en varm trumma i stället för tråden.

Ursprung från fraser

Michael K. Johnson ("mkj" från Red Hat och Fedora fame) skrev den första Linux-versionen av detta felmeddelande 1992, men han såväl som Herbert Rosmanith och Alan Cox (alla Linux-utvecklare) har erkänt att frasen fanns i Unix i olika former innan han implementerade sin Linux-skrivare.

Sedan dess har lp- skrivarkoden spridit sig över alla möjliga POSIX- kompatibla operativsystem, som ofta fortfarande har kvar detta äldre meddelande.

Moderna skrivardrivrutiner och support har förbättrat och dolt lågnivåfelmeddelanden från användare, så de flesta Unix/Linux-användare idag har aldrig sett "on fire"-meddelandet. Men ett fåtal människor stöter fortfarande på det idag med varierande nivåer av underhållning eller förvirring. Meddelandet "on fire" finns kvar i Linux-källkoden från och med version 6.0.

Budskapet finns också i andra programvarumoduler, ofta med humoristisk effekt. Till exempel, i vissa kärnor CPU-kod, kan ett CPU- termiskt fel resultera i meddelandet "CPU#0: Possible thermal failure (CPU on fire ?)" och liknande humor kan hittas i frasen stopp and catch fire .

Se även

  1. ^ "LLNL krigshistoria angående SC5000 och strålningsskrivaren" . Hämtad 14 november 2011 .
  2. ^ "Inlägg på e-postlista som relaterar till historiken för lp0 on fire-felet" . Hämtad 11 september 2007 .
  3. ^ "[PATCH] Linux-0.98.3 (27 oktober 1992)" . GitHub . Hämtad 30 juli 2020 .
  4. ^ "Ofullständig information - mjks funderingar" . 15 maj 2019 . Hämtad 17 maj 2019 .
  5. ^ "Linux Kernel Mailing List-arkiv: Michael K. Johnson Re: GLOAT BLOAT (Var: Boot messages, Ideas for v2.1)" . 24 juni 1996 . Hämtad 17 maj 2019 .
  6. ^ "Redit kommentar från användare mcdanlj" . 15 maj 2019 . Hämtad 17 maj 2019 .
  7. ^ "Hjälp, min skrivarport brinner!!!" . Arkiverad från originalet den 3 november 2006 . Hämtad 11 september 2007 .
  8. ^ "Källkod för Linux-kärnan för USB-skrivare" .
  9. ^ "lp.c « char « drivrutiner - kernel/git/stable/linux.git - Linux-kärnan stabilt träd" . git.kernel.org . Hämtad 2022-11-14 .
  10. ^ "CPU#0: Möjligt termiskt fel (CPU i brand?)" . Hämtad 21 december 2014 .