* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating System Design
		                    
		                    
								Survey							
                            
		                
		                
                            
                            
								Document related concepts							
                        
                        
                    
						
						
							Transcript						
					
					Operating System Design - Part 1 Goals what is OS design like? • it‘s an engineering project rather than an exact science have a clear vision of what you want and what you don‘t want in your OS the four main items for a general-purpose OS are: • define abstractions • provide primitive operations • ensure isolation • manage the hardware abstractions and primitives: • use objects (data structures) which are manipulated by primitive operations e. g. processes, files, mutexes etc. Operating System Design - Part 2 Goals isolation: group resources together for protection purposes. making sure each user can perform only authorized operations on authorized data is a key goal of system design. if some part of the OS goes down no other parts of the system should be affected. manage the hardware: provide a framework for allowing device drivers to manage devices. should the OS also use this framework for chips like interrupt and bus controller? conclusions: the most important but also hardest task is the right abstraction. task: find all system calls and library functions for a given OS. would you use the same system calls and library functions? (think of completeness and efficiency) would you use the same parameters? (think of simplicity) everything is an object! Ideas - Part 1 make the complete I/O interface uniform one communication object is inherited to all objects  bind subsystems only through this communication object objects must have the ability to declare itselves systemwide invalid files are byte streams to the OS, but they give themselves special meanings, since they are now objects with operations on them (consider a PDF document: Acrobat is an interpreter for PDF operations  remote interpretation possible) from exokernel design: read/write system calls do compare/generate operations on every object’s checksum  no reliable network protocols needed client-server systems must have multiple servers transparent to the users architectural coherence: LEGO is a very good example provide a general and fast object for building linked lists and hash tables Ideas - Part 2 the namespace itself is an object with its own primitives Windows 2000 namespaces: file system, registry and object name space QNX namespaces: the file system namespace includes the I/O device and object name space use only messages for IPC design every part of the OS separately:  no mutexes, semaphores, etc. • microkernel • file system • memory management • input and output • device drivers define a systemwide transparent color which • security is recognized by every part of the GUI • process and thread management • manespaces • HAL  every part must be able to cope with multiprocessors