A PARALLEL BETWEEN OPERATING SYSTEMS AND [HUMAN GOVERNMEN T Andrew Klossne r Soothsayer Softwar e 1428 Lake Boulevar d St Joseph, Michigan 4908 5 O perating systems and governments exist to perform analogou s functions . A parallel can be drawn : operating systems are t o computer programs as governments are to peo p le . An understandin g of the manifestations of this parallel should allow the compute r engineer and the political scientist to draw from each other' s field . For purposes of comparison, let us make a number of loos e analogies between the realms of government and operating system . People or companies and programs (or processes) are th e individuals within the system/state . Individually or in groups , they do the useful work . The operating system or government is the authority in it s sphere . The authority is responsible for maintaining order, an d is otherwise charged with furthering the goals of th e system/state as a whole, and of the separate individuals . Whe n emphasis is placed upon the goals of the state as a whole, th e government is socialist, or, in the extreme case, totalitarian ; when emphasis is on the goals of separate individuals, as in th e United States, the authority does not itself do useful work, bu t maintains an environment conducive to useful work by individuals . Property can be defined as those resources which can be allocate d for a great length of time . Examples of property include rea l estate and data files . The authority is the means by which th e assignment of property to individuals is protected . The authority is given reign over those tasks which must be done , but are better done centrally rather than individually . Maintenance of communications and trans portation channels, suc h as telephone lines, public roads, and I/O busses are either don e by the authority or assigned on a monopoly basis to a n individual . The authority defines and enforces rules of behavior . A n individual who attacks the authority or another individual i s dealt with by the authority's agents of enforcement . Th e authority also provides security against external attack, as b y defensive armed forces or by password checking before grantin g entry . 28 Thfe authority includes mechanisms to handle dis p utes betwee n individuals . Contract law can be compared to the implementatio n of semaphores as a means that the authority provides to foste r cooperation to the mutual individual benefit . The authority handles relationsh i p s with any other system/states . A distributed network is like a community of nations ; the variou s authorities are often very different and may not understand eac h other, and find it advantageous to interact using well define d p rotocols . With these similarities between government and operating systems , we can proceed to examine p hilosophies of p olitical science fo r ideas ap p licable to operating system design . The authority by its nature does no useful work, but provide s overhead services to individuals . To do this, the authorit y consumes the same resources as the individuals ; an operatin g system requires CPU cycles and memory space ; a governmen t requires tax dollars . This tax is in pro p ortion to the numher o f overhead services which the authority provides . Among the heterogenous group of individuals will be some wh o greatly need overhead services and appreciate a large authority , and some who need very few services and would prefer a smalle r authority which exacts less tax . There are various p hilosophie s of government prescribing different o p timal authority sizes , which are perhaps applicable to operating system design . The "large government" train of thought believes that many non essential yet important duties should reside with the government . Exam p les of such duties include postal service, local libraries , and municipal garbage collection . The "small g overnment" schoo l believes that the public sector should be charged with a minimu m of such tasks, arguing that they can be p rovided by the privat e sector, thus allowing individuals to purchase only those service s that they need and fostering competition which leads to improve d service delivery . Proponents of large government argue that a company may be less concerned with delivery of quality servic e than with improving its own profit, and that many services, suc h as libraries, can not be made self-supporting, but are vital i n fostering such social goals as a well informed public . Opponent s respond that a government is inherently unsuited to the efficien t delivery of a service and that enter p rises which are not self su p porting are not worth maintaining . A further point is tha t services which are provided by the government are usuall y forbidden to competing p rivate firms, and so any alternative t o the government's service is unavailable . These p hilosophies of government carry over to philosophies o f 29 operating system design . In the beginning, governments an d operating systems provided only the very basic services : commo n defense, formulation and enforcement of the law, unit record an d disk I/O . Then came an era of letting the authority d o "everything ." Out of the depression grew the New Deal and th e welfare state ; out of batch monitors grew OS/360 . Later ther e arose a clamor for authority to be thoughtfully pruned an d restructured . Politicians are elected with promises to tri m bureaucracy and cut spending ; new operating systems have les s "bells and whistles" and provide a smoother set of services . The same methods of analysis now being used to determine whethe r a service is best provided by government can be used to decid e whether a feature should be su p ported by an operating system, o r by a library subroutine or separate p rocess . An example i s support of screen manipulation commands such as erase screen , position cursor randomly, and draw window . The ooer_ating syste m can be augmented by primitives which would p erform thes e functions correctly for several different ty p es of terminal, or , alternatively, a set of subroutines could p rovide this support . If the operating system does it, each individual user progra m occupies less memory than if it had to load the subroutines ; th e functions will likely execute more quickly ; and the functionalit y is provided through a well defined interface, since there wil l not be different versions of the subroutine library . On th e other hand, the necessary code might occu py system memory, eve n when not needed ; the routines are impossible for the user t o modify ; and screen support may get in the way of p rograms tryin g to do related obscure things with the terminal, such as readin g from an auxiliary keypad . When designing an operating system for a small computer , considerations of limited resources constitute cause to tighte n system features . For example, although a tree structured fil e system has been shown to be extremely advantageous on medium an d large scale computers, the increase in utility might not justif y the memory space and number of disk I/O operations necessary on a microcomputer . Where necessary, a tree structured system can b e implemented by the user with a set of standard routines, whic h would not need to be resident when a large program with no suc h requirement is run . A case where computer science might bear on p olitical scienc e concerns the categorization of a government as socialist o r laissez-faire according to whether the goals of the state or th e goals of the individual are paramount . An operating system i s inherently laissez-faire ; it makes no attempt to prescribe wha t the user processes must do, but rather supports them in thei r efforts . An operating system which presumed to direct it s subprocesses would be better described as a task oriente d 30 program, analogous to a com p any rather than to a government . Th e lesson would seem to be that a state functions better (or, a t least, more like a computer) when the government is not itsel f concerned with production . Conclusions . Because of parallels between governments an d operating systems, political theories of government form an d function can be useful to the o p erating system engineer . I n particular, the q uestion of which services should be provided b y the operating system and which should be left to user-leve l subroutines is similar to the consideration of which tasks shoul d be borne by a government rather than provided by Privat e industry . 31