Holy_COW Posted March 26, 2007 Report Posted March 26, 2007 What is Penix? Penix is that way-cool multitasking Operating System that's a bit like that other one you might have heard of.. you know, the one that has the Interthingy running on it. Needlessly complex and given to falling over at the drop of a hat. Commands: cfts completely ##### the system rcatpar randomly change all the passwords at random wi whatyouseeisprettypathetic interactiveEditor edmond page-oriented editor. a step down from a line-editor, this one treats text as page-sized chunks. rofl roll on floor laughing. not so much a system functions as what the support staff do when you ask them if they still have last week's backups on tape somewhere. ispi shows some of the processes running, some of the users on the other lines, and sometimes even gives statistics on CPU usage. it's very context-sensitive. sssl suddenly exchange serial lines with another user pong let the other machines on the net know that you're there exorcise terminate a daemon process completely and utterly. kill it off, every last trace. we're not kidding here. finito. Common Penix terms: walnut the heart of the Penix OS. at compilation, it is approximately 71 megabytes in size (depending on whether you have the development system or not), but this figure regularly oscillates between 67 meg and 8 gig, as the system `breathes'. It was written in interpreted BASIC, for ease of modification. daemon a process that detaches itself from your console session. unless you redirect the output from this daemon into a specified file, any output produced will appear out of various serIOus lines on the system at the daemon's discretion. you can terminate a daemon with the exorcise -X function. aengel like a daemon, except a bit more polite. an aengel process will ask before it directs output to your serIOus line. it will generally do it anyway, but at least it asks first. nyemph a daemon process that can migrate from one file system to another, and will do so if its output has filled the filesystem that it started on. slippery little buggers. maenad like a nyemph task, but a little bit more attractive. sprite a very simple background task that does menial things like flash the cursor colours, play the sampled `beep' sound when you press control-g on the keyboard, and make that annoying click on the floppy drive as the OS checks to see if you have put in a disk yet. goelem a very powerful background task. also very stupid. they are usually started by the system itself, when the need arises to do something labour-intensive and boring - so boring, in fact, than none of the usual background tasks will touch it. you occasionally find goelem tasks wandering around after they have finished their task, too stupid to realise that they HAVE finished; pretty much all you can do about it is allocate them a very low time-slice (see the `motu' command) and hope that they don't get into any trouble. caenobites this is something we aren't particularly proud of here at Sunburne, but we think that you should know about, in the interests of safety. we will admit that the circumstances that led us to developing Penix are slightly unusual, and that there is quite a bit about this system that was, er, inherited. We're not saying that we stole it. but there are large areas of this system that we know nothing about, but which, when we remove them, the system stop altogether. we don't know exactly what caenobite tasks do, but we have found that you can't kill them; you can't stop them; you can't even slow them down. whenever we use the motu command to alter their timeslice, they completely ignore it (this may be due to the fact that we think motu's orders are passed to the rest of the system by the caenobite tasks). a caenobite task can be incited to remove other tasks by passing it a BOX_OPEN message packet, but they are best left alone. thank god there are usually only about four of them. networks the Penix network philosphy is based on a `Master/Slave' relationship. Systems can be linked into networks that include hundred of machines, but generally, inter-machine communication is dominant/submissive. One machine makes a begging, whimpering request for a file from its `Dom', which must then establish which of its `Subs' has the file. It then issues a spank_IO order for the file; if the data packet isn't sent within the system default timeout period, the Dom issues a whip_IO. If THAT doesn't work, the Dom grabs the nearest (by address) Sub by its bus, shakes it silly, and applies the logical equivalent of nipple-clips. serviette a server with less than 300 meg of hard disk space. drooler printing is controlled by the drooler daemon, who dribbles text out of the assigned printer ports when it feels like it. if the drooling process is going too slow for your liking, it can be prompted by invoking any of the currently running caenobytes. Booting one does not re-BOOT a Penix system; it is `re-shoed'. If you boot a Penix system, it will fall apart. Reshoe-ing involves locating the sock partition, socking it, then looking about for something that resembles a shoe-block (a disk-block with startup information on it). once located, the shoe-block is overlaid onto the sock partition and is `laced'. At the request of our user, we have incorporated dual shoe partitions, to enable disk mirroring. the System must always be re-shoed from the same partition; if you get the left-shoe and the right-shoe partition mixed up, then after re-shoeing, the system will take a few tottering steps and will then fall over. scanning the sock partition for a shoe block can be a time-consuming process; if the entire hard disk had to be examined, it could take days. an algorithm has been implemented that scans disk blocks at random, on the assumption that there will be more than one shoe block on the disk (this is a standard security feature - in fact, more than half of the disk's b locks are usually allocated as shoe-blocks, to save time when looking for one to shoe from). example of console messages on booting Penix v37.019a ROMrev 76:e_beta (development) shoe in progress locating sock partition scanning SCSI bus ******* scanning st506 devices ** getting desperate scanning floppy drives ** getting really desperate scanning tape drive * sock located on tape drive scanning SCSI bus again ****** loading SCSI device driver scanning for shoe block at RANDOM .................................... .................................... .................................... .................... bingo left shoe located at cyl:00.head:15.sec:16 loading shoe block processing ...................................... ............. ignoring checksum errror overlaying sock partition lacing **** shoe partition LACED, Booting walnut located, processing ..... done do you want to inhibit DAEMON processes at this time (default=n)? n do you want to inhibit AENGEL processes at this time (default=n)? n do you want to inhibit NYEMPH processes at this time (default=n)? n do you want to inhibit MAENAD processes at this time (default=n)? n do you want to inhibit SPRITE processes at this time (default=n)? n do you want to inhibit CAENOBITE processes at this time (default=y)? y too bad. you can't. do you want to inhibit GOELEM processes at this time (default=n)? n starting Daemons: spon spoo furph wrack wruin hobble castrate whats_all_this_then drooler starting Aengels: moroni goliad mikayel cefiar lucifer starting Nyemphs: dom_net_prep dom_net_enquire TOPY_server EN_server spk_server clock_DVA_server sK_pup_server starting Maenads: *** Maenad table is empty starting Sprites: cursor_flash keyboard_click annoying_floppy_drive_noise starting Goelems: lif_dat_wait tote_dat_bail starting Caenobytes: *** Caenobyte table is empty this is a DOM net_device: initialising SpankIO WhipIO initialising serIOus lines 000 001 002 003... ... and so on. directories/filesystems /uselss/little_black_book network list of all machines in the Clique /closet list of filesystem devices, in format: address device type 00000000 RAM 00000001 RAM 00000010 RAM 00000011 RAM 00000100 RAM 00000101 DEVICE: FLOPPY CONTROLLER... /passwords system password file. It has passwords in it. /now_hear_this_you_scum system login message. /spew_bucket Sysadmin's mail file /lib library files here /libs other library files here. if a process needs a library file from here, you can guarrantee that it's over in /uselss/lib instead. /der text files/notices here /der/zorcho insult packets /der/ttbowl/ waste goes in here /der/greeting_card `oops' packets /comp executeables live here /whoops_a_daisy unallocated blocks here /ho_hum logfiles here /trash schedule tables for backgrounders /ephemeral temporary files /ephemeral/what_the_hell_happened System command log. /help_files the man entries would be here, but our user thinks that `man' is sexist, so we called it help_files. /important/really_important DO NOT REMOVE OR ALTER THIS FILE! /mungle not sure what this directory is for, but the system won't run without it. /thingies utility programs and other stuff we haven't documented yet. /typical/who's_where system task table /who's_who a duplicate of the system task table; used by some programs but not all of them. when in doubt refer to both task-tables and then guess. /keymaps/keymaps/keymaps/keymaps/spo0 Default keymap for wi. /WinGE/danglements default files for WinGE graphic images /.snivel default WinGE startup-script file
Holy_COW Posted March 26, 2007 Author Report Posted March 26, 2007 http://very.net/~nikolai/penix/ hay varias cosillas vacilonas como esta opcion del comnado "Exorcise" : c Caenobites. Will attempt to distract any currently-running caenobite processes by creating a BOX process and sending it a BOX_OPEN packet. This will cause the BOX to open a temporary file in /usr/leviathan/labyrinth, attracting the attention of any caenobite processes on the system. Since there isn't any actual way of terminating a caenobite process, keeping them busy is the best we can do.
Recommended Posts