Title : Berkelian Rhapsody Original : Bohemian Rhapsody Group : Queen Author : Greywolf Intro : I have a real gem for you, if you're familiar at all with Queen's "Bohemian Rhapsody", recently re-popularized over here in the states by the movie "Wayne's World", a cinematic production with which most Europeans will not identify, being culturally different than we are (and, I might add, more advanced in their cultures). Song : BERKELIAN RHAPSODY (to the tune of "Bohemian Rhapsody") Is this in real time? Is this in memory? Caught in a for(;;) loop, no escape from this subroutine... open() your files, branch through the do{}while()s and see I'm just the kernel, I need no libraries Because you boot me up, load and go Branch from high, store to low Any way the thread flows Doesn't really matter to me To me. unlink() just killed a file Filled it's data up with NULLs, cleared the inode, closed the holes vfork(), life had just begun Then kill(0, SIGKILL) blew it all away mmap(), ooooooh, didn't mean to make it die if (the parent process doesn't fork again) { carry on, carry on, as if nothing really matters; } Too late, init has died Flush my buffers out from core, then reboot() and try once more panic ("freeing free block"); I've got to crash Got to enter kdb and see the truth Init, ooooooooh (Any way the thread flows) I've lost my tty I wish my page hadn't been swapped out at all... I see the signal trap vectors into core Interrupt! Overrun! It will do a fandango Data's skrogged like lightning, very very frightening me Dennis Ritchie? Kenneth Thompson? Kirk McKusick? Eric Allman Someone help me! Robert Pike? Oh, Kernighan (-an -an -an -an -an) I'm just a quick hack, nobody uses me He just makes sockets in his address family Spare him a buffer in high memory bind(); accept(); msg_send(); will it let me go? munmap(); NO! It will not let you go (LET IT GO!) munmap() just will not let you go (LET IT GO!) munmap() just will not let you go (LET IT GO!) Will not let you go (LET IT GO!) Will not let you go Will not let you go oh, oh, oh, oh No, no, no, no, no, no, no! kill(0, SIGKILL), exit(0); exit(0); let me go! BSDi has a daemon set aside for me, for me, for meeeeeeeeeeeeee So you think you can stomp on my stack space and text? .. Skrog my image and data by calling exec()? Ohh, page-d, can't do this to me page-d Just gotta switch out, just context switch right out of here Nothing really hashes, anyone can see Every process thrashes, every disk drive crashes On me Any way the thread flows... - Music by Queen Lyrics by R. Anderson with posthumous apologies to Freddie Mercury @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@