StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

New Perspective on OS Design - Essay Example

Cite this document
Summary
The essay "New Perspective on OS Design" focuses on the critical analysis of the major issues on the new perspective on OS design. The operating system forms the vital link between humans and the computer system. Though, the user remains a bystander…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER98.3% of users find it useful
New Perspective on OS Design
Read Text Preview

Extract of sample "New Perspective on OS Design"

A New perspective to OS Design The operating system forms the vital link between humans and the computer system. As more and complex systems continue to come out every day, the user still remains a bystander when it comes to modifying the system parts since almost all the functionalities remain part of the system code. New developments indicate that a user modifiable OS is in the pipeline. Introduction The ultimate functionality of an OS is to manage different programs share the same computer and run effectively and efficiently. The OS needs to have effective memory protection and allocation; scheduling and it should co-ordinate the usage of the various peripherals attached to the system. An OS also takes care of sharing of a system by multiple users and also handle the various authentication issues in multiple user systems. The sharing of resources also forms a vital functionality of the OS in a multi user system. Conventionally all these functionalities of the OS are implemented in the kernel. And the kernel is accessible to all the programs that run in the system. Almost all systems use a system language or command to program the kernel. This is not modifiable by the user and remains outside his purview. Even if it needs to be modified, the complexity and the vastness is overwhelming and it requires heavy debugging and testing to ensure that the modification is bug free and it does not affect the rest of the functionalities. Also the pageability of kernels is extremely limited and even if it can be pages it takes a lot of work to decide what can be paged. All these restrictions and drawbacks of adding and modifying functionalities are slowly being eliminated and only those functionalities that are absolutely necessary are being added to the kernel. Innovative ideas to efficiently retrieving and handling information are thus being ignored because of the complexities involved in implementing them. Though Lisp Machine and Smalltalk managed to bring this user modifiable functionality in an easy to use language they failed to separate the user from the program. This principle of separation between the user and the program is one of the core principles of an operating system by definition. Another design method is the multi server system which attempts to break down the kernel into logical parts with interfaces between them. This makes it easier for the user to add more functionality separately to the specified block. Also the debugging phase becomes much easier since the code is less. This OS design addresses the users need to customize but the barrier between the user and the system still remains. I.e. the user still needs certain privileges to modify the system code. [9][2][16][17][3] [5][6][10] GNU Hurd This new development seeks to address all the drawbacks mentioned till now and also to provide the dynamic user modifiable functionality to the OS. This new design seeks to achieve this goal by restricting the area of the system code. It makes the system code pertain to only specified basic areas and leaves the rest of the process to be defined by the user. The user can also add the remaining parts and can share these parts with other users without being bothered about the viability and the authenticity of the code and system. Let us take a look at each of the mechanism that is part of the new design system called Hurd. In the Translator Mechanism, the Hurd is found to use the Mach ports as a method to communicate between the user and the server. Every mach port is different and it implements a certain set of protocols which identify the operations that it can do and also represents the object of the port. The protocols or rules of conduct specified by the Hurd are the input/output protocol, the file, the socket protocol, and the process protocol. Each file can have a translator associated with it. Here the server executes the translator program associated with each file instead of each file returning its own port. The translator is allotted a port to the actual contents of the file, and is then asked to return a port to the user to complete open operation. An advantage that I observed in the translator mechanism is that the file system can act as an interface for dissimilar interfaces. [2][8] The next feature that was evaluated by me is as follows. I observed that the translators can also be used to present a file system view of a totally new part of the file system. The disadvantage of this is that the semantics are changed. But the advantage is that we can have a file system that cannot be changed by it but it keeps track of the various versions of its files at another place. We have till now seen an overview of the entire Hurd system, its advantages and drawbacks and the various features in it. The following parts of the paper will look into the various parts of the Hurd in a more detailed manner so as to assess the viability and the sustenance of this new development.[2] Process Server The process server acts as a category wise information storage medium. The services supported are as follows. First, the process server keeps track of host-level information; the hostname, the host id, and the system version are maintained. Next, this server maintains the Posix notions of all the related process groups. Thirdly, the process server maintains a mapping between Mach tasks and Hurd processes. Each task is assigned a process id. Processes can register a port with this server, which can then be given out to any program which asks for it. The server does not try to keep all the messaging ports as a private entity so the user is expected to implement whatever security he needs by himself. The C library which is part of the GNU has a number of useful functions for the same. The vectors for the provided argument and the necessary surroundings can be provided on request using the values of the argv' and envp'. So in post script programs this feature becomes very useful and it is very easy to hide or modify the information. The features are not mandatory and hence the user is free to ignore them and never register with the server. The interesting point that I observed here is that the some of the features of the process server does not require root privileges to be implemented and can be done on a case by case basis according to each user. Hence the user has quite a bit of control over this area. Authentication Server This forms the central part of all the Hurd's servers. Each port here identifies a user and is associated by this server with an id. Each id block has a set of user and group ids. The authentication server controls three different types of services. It provides simple operations on its ports: if there are two authentication ports, this server will create a third port representing the union of the two sets of user ids and group ids. Next, this server allows anyone with an user id of zero to create an authentication port. The convenience of this system is that any user could write a program which implements the authentication protocol. Whenever a service wants to authenticate a user, it just communicates with its authentication server and it can find the user identity. Of course the major fallout in this process comes when the user uses another authentication server which is when the entire transaction fails and no further communication takes place. So all the programs in the system are forced to use the same authentication server and the interface has been designed to make all the operations carried out as safe as possible. If there is any extraneous process then a separate password server is used. [2] Transparent FTP This is a new and radical idea that has been implemented in this system. It is called the ange-ftp package and is available for GNU Emacs. This accesses the FTP files virtually transparent to all the Emacs file manipulation functions. Consider the BSD kernel, a transparent FTP file system will be as easy as writing the same in a Hurd. But conventionally these kind of systems are not part of the kernel. So since this is part of the kernel it prevents the user from changing whatever functionalities that they don't like. Though recent developments indicate that the user can write transparent FTPs in the BSD kernel they still have to have complete root privileges. Now compare this to the Hurd system. I found that in the Hurd there is no problem of writing a transparent FTP. A translator will be provided for the /ftp. Though the contents of /ftp will probably not be directly listed, subdirectories will be listed. There are quite a few formats for that purpose. Parts of the commands could be cut out and the transparent FTP program would read them from a user's .netrc file. In this case the need to do a cd first--use any file command is eliminated. [2][10][11][12] File Systems A Network File System protocol is being implemented using 4.4 BSD as a starting point in the Hurd A useful feature is the availability of the other file systems like MS-DOS which will help users move files between the GNU and the other OS in the system. [2][13][14] Terminals The separate input/output server will be giving the semantics for the Posix. Also the GNU C Library has features for tracking the controlling terminal and also for sending the job signals in a proper defined manner. The users are free to manage the terminal drivers. The main use of the terminal driver is that the user can easily access the underlying communications channel pretty easily and he can bypass the entire channel altogether or substitute a different terminal altogether. Since we have this flexibility of interchanging drivers the original driver will not be providing us with the complex line editing features that we usually expect from a GNU. This I find is a very fair trade-off considering we get a replacement driver in lieu of the editing feature. Though this trade-off seems fair the developers have also planned for a readline-based terminal driver, which will provide complex line-editing features for all the users. After evaluating the terminal driver I have come to the conclusion that it will not give very good support when it comes to high-volume and rapid data transmission.[2] Executing Programs The execution programs deal with the execve call and there are a total of three programs. The C library collects the argument and the various environmental variables and then sends a message to the file server where the file to be executed is held. The file server next analyzes the file and checks for the execute permission attached with it and then makes the necessary changes it desired in the execute call. After deciding what to associate with the new image, the files ystem calls the exec server to load the task. This server, using the BFD library, loads the image which is in question. BFD supports a large number of object file formats; almost any supported format will be executable. This server also runs scripts starting with #!, running them through the required program. The new image that is now got then starts running in the GNU C Library, which then sends a signal to the exec server to get the arguments, environment, current directory, etc. New Processes In case of new processes a fork call is implemented in the GNU C Library. The new task is formed by using the Mach kernel calls. The C library the implements a process to inherit the image in a proper manner. The new task is then registered with the process server if it is required. The C Library then issues vectors of the functions to be called at the fork time: one vector to be called before the fork, one after in the parent, and one after in the child. The C library will implement both fork calls specified by the draft Posix.4a. The Posix.4a is the proposed standard which is used to deal with the threads that extend the real time extension of the program. The main differentiating feature I found in this system when compared to other UNIX systems is that hooks will be provided by the C Library and the functions can even be replaced totally. Network Protocols The Hurd has a major advantage by having a library that stacks the 4.4 BSD protocol based stacks into it. Hence all its operations become entirely free of the protocols supported by BSD. I discovered that the list includes the CCITT protocols, TCP/IP protocols, the Xerox NS protocols, and the ISO protocols. Optimal performance requires some work that would take advantage of the Hurd features that provide high speed Input and Output. This requires some planning on Hurd's part and it has shown to run TCP/IP protocols as efficient as one would expect it to. The case of IP trailers can be considered to showcase the flexibility of the design. The Hurd sends and receives trailers and it has some advantage in doing so that there is no requirement that multiple copies of the data to be sent and hence the page aligned information becomes irrelevant. Conclusion The paper has looked into the current trends in hardware which focuses more on high speed and complex systems and chips which pack millions of transistors into a wafer thin chip. As machines become faster the main issue faced by hardware manufacturers is the shrinking size of the chip and the increasing heat dissipation values of the chip. A consortium of major manufacturers are pooling in joint efforts to overcome this hurdle and enable faster computing. In the software side we have looked into the basic drawbacks of the GNU systems and the advantages and the disadvantages of the new Hurd system which brings in a new dimension to the customization of an OS and the level of interaction and ease of use of a UNIX based Operating System. References Mendel Rosenblum, Edouard Bugnion, Stephen Alan Herrod,Emmett Witchel, and Anoop Gupta. The impact of architectural trends on operating System Performance. Retrieved on 15th, January, 2007, from http://72.14.235.104/searchq=cache:Dqo8XvoSKasJ:www.cs.utexas.edu/users/witchel/pubs/SOSP95-oschar.ps+user+trends+on+operating+systems&hl=en&gl=in&ct=clnk&cd=9 Bushnell, Micheal. Towards a new Strategy of OS Design. Retrieved on 15th, January, 2007, from http://www.gnu.org/software/hurd/hurd-paper.html Heat Density Trends in Data processing, Computer Systems, and telecommunication equipments. Retrieved on 15th, January, 2007, from http://www.upsite.com/TUIpages/whitepapers/tuiheat1.0.html Unix Intoduction. Retrieved on 15th, January, 2007, from http://www.ee.surrey.ac.uk/Teaching/Unix/unixintro.html The UNIX System White papers. Retrieved on 15th, January, 2007, from http://www.unix.org/whitepapers Frank G. Fiamingo. UNIX System Administration. Retrieved on 15th, January, 2007, from http://8help.osu.edu/wks/sysadm_course/html/sysadm-1.html The UNIX kernel Source Tour. Retrieved on 15th, January, 2007, from http://tamacom.com/tour.html Daniel P. Bovet and Marco Cesati. Understanding the UNIX Kernel. O'Reilly. 2003. GNU Hurd. Retrieved on 15th, January, 2007, from http://www.gnu.org/software/hurd/hurd.html Grace Todino-Gonguet, John Strang, Jerry Peek. Learning the UNIX Operating System. O'Reilly. 1997. Unix System Administration. Retrieved on 15th, January, 2007, from http://www.uoregon.edu/hak/unix.html Unix Kernel programs. Retrieved on 15th, January, 2007, from http://pangea.stanford.edu/computerinfo/unix/overview/kernel.html. John Lions. Lion's Commentary on UNIX. Prentice Hall. Maurice J. Bach. Design of the Unix Operating System. Prentice Hall Software Series. Uresh Vahalia. Unix Internals : The new frontiers. Prentice Hall. 1995. Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman The Design andImplementation of the 4.4 BSD Operating System. Addison-Wesley Professional. 1996. Marshall Kirk McKusick, George V. Neville-Neil The Design and Implementation of the FreeBSD Operating System. Addison-Wesley Professional. 2004. Joris van den Hurk and Jochen A.G. Jess. System Level Hardware/Software Co-Design: An Industrial Approach. Springer. 1997. The Common Man's Guide to Operating System Design. Retrieved on 15th, January, 2007, from .http://cdsmith.twu.net/professional/osdesign.html. Andrew S. Tanenbaum, Albert S. Woodhull. Operating Systems: Design and Implementation. Prentice hall. 1997. T.Fossum. Operating System Design Volume 1 : The XINU Approach, PC Version. 1988. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“The current trends in hardware Essay Example | Topics and Well Written Essays - 1500 words”, n.d.)
The current trends in hardware Essay Example | Topics and Well Written Essays - 1500 words. Retrieved from https://studentshare.org/miscellaneous/1527625-the-current-trends-in-hardware
(The Current Trends in Hardware Essay Example | Topics and Well Written Essays - 1500 Words)
The Current Trends in Hardware Essay Example | Topics and Well Written Essays - 1500 Words. https://studentshare.org/miscellaneous/1527625-the-current-trends-in-hardware.
“The Current Trends in Hardware Essay Example | Topics and Well Written Essays - 1500 Words”, n.d. https://studentshare.org/miscellaneous/1527625-the-current-trends-in-hardware.
  • Cited: 0 times

CHECK THESE SAMPLES OF New Perspective on OS Design

Large-Scale Data Processing Technique

Hypothetical Designs Quantitative design This design will utilize experimental research method - methods that aim at maximizing replicability, generalizability, and objectivity of results; mostly concerned with prediction (Creswell, 2009).... For this experiment, the proposed quantitative hypothetical design is deemed to be extremely expensive even in the event that only few points in a parameter space are covered.... Qualitative design In this case, this research method will aim at understanding and discovering the perspectives, thoughts and experiences of previous researchers and participants in the same field in order to understand reality, purpose and meaning (Trochim & Donnelly, 2008)....
4 Pages (1000 words) Research Paper

The Function of the Art and Design

In the paper 'The Function of the Art and design' the author focuses on the concept of art, which is one which can easily alter depending on how the spectator looks at the work.... The function of the art, design and the overall formula which occurs also creates different meaning.... This includes differences in the design, function and mechanics that are related to the artwork.... The main approach was to determine how each of these objects could become a piece of art through the object and design that was used....
13 Pages (3250 words) Essay

Evaluate Various Organizational Perspectives

cogent theory should have a clear non-complex design.... Organization theory and design.... Organization Theory & design.... An ontological perspective of an organization, therefore, articulates an organization in regards to its form, nature and its application to reality concepts (Daft, 2010). ... An ontological perspective of an organization, therefore, articulates an organization in regards to its form, nature and its application to reality concepts (Daft, 2010)....
1 Pages (250 words) Essay

Reaction paper to the article The Role of Children in the Design of New Technology

Still, the researcher's perspective on cooperative inquiry is effective in that it provides a structured process that can be used for a large variety of applications.... The author then advances a specific framework for gaining Summary and Critique: “The Role of Children in the design of New Technology" From an overarching perspective the article considers the specific waysthat children can contribute to the design of new technology.... Is this was Druin proposes three main roles for children in the design process....
2 Pages (500 words) Essay

The Research Design as the Inherent Strategy That a Researcher Chooses

The paper "The Research design as the Inherent Strategy That a Researcher Chooses" states that the use of interviews alone cannot help define comprehensive data.... Historical research design, on the other hand, entails trailing the development of a given idea and making conclusions out of such data.... rannen defines research design as a context of inquiry.... In this sense, she means a research design determines the process and structure of the investigation....
8 Pages (2000 words) Essay

Definition of Design Thinking

design Thinking is also regarded as a multidisciplinary, user-oriented approach towards.... design thinking is usually incorporated often into the innovation process as well as organisation. ... esigning thinking is a multidisciplinary process covering fields such as Definition of design Thinking Definition of design Thinking The term ‘design thinking' is attributed to Herbert A.... design Thinking is also regarded as a multidisciplinary, user-oriented approach towards generating ideas and solutions that ignite innovation in many ways (Almendra & Christiaans, 2012)....
2 Pages (500 words) Essay

Principles, and Practices in Visual Communication

This report "Principles, and Practices in Visual Communication" presents a simple outline of visual communication design.... Secondary research exposed the group to several perspectives and meanings of visual communication design.... The finding is a description of what the group found out on visual communication design.... They are factual statements in the form of bullets on the meaning of visual communication design and its components....
9 Pages (2250 words) Report

Issues and Solutions Utilizing an Information Classification Schema

In this paper "Issues and Solutions Utilizing an Information Classification Schema", the author is an Information Security Manager tasked with reporting and researching on the protection of the product development information now and in the future.... ... ... ... Conducting research to find out an appropriate outline to solve a specific problem utilizing an information scheme is challenging due to the lack of a scientific classification scheme for a security outline....
12 Pages (3000 words) Term Paper
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us