Operating System/O.S(Neso Academy, HPC Lab. KOREATECH)

3) System Programs , OS Design and implementation , Structures of OS

Tony Lim 2021. 4. 29. 15:36
728x90

Sysetm programs are located between application program and OS.

 

System programs categories

File Management

  • create , delete copy rename , print ,dump , List , and generally manipulate files and directories.

Status information

  • Date, Time , Amount of available memory or disk space , number of users , detailed performance , logging and debugging information 

File modification 

  • Several text editors may be available to create and modify the content of files stored on disk or other storage devices , and search operation.

Programming-language support = compilers, assemblers , debuggers and interpreters

Progam loading and execution = Absolute loaders , Relocatable loaders , Linkage editors and Overlay loaders

Communications 

  • creating virutal connections among processes, users , and computer systems
  • allowing users to send messages to one another's screens
  • to browse webpages , send email , log in or transfer files from one machine to another

 

OS Design 

Requirement diff from user goals to system goals

Mechanisms = determine how to do something

Policies = determine what will be done

One important principle is the seperation of policy from mechanism.

way to allocating resource to process  = mechanisms , should always remain same

whether certain resource actually will be allocate to process = policies , change of polices should not affect of mechanisms.

 

Structures of OS

All the layer can access to Hardward. interface and levels of functionality is not well seperated. 

if Application Programs go wrong entire system might crash.

too many things are packed in single layer which makes diffcult to modify or adjust.

now many functionality are divided into many layers. designing and deciding will be very difficult.  

system call from user interface takes too many layer to go through and some parameter might be affected

unlike monolithic kernel doesn't have so many functionality.  reimplemented others with user mode or system program.  

message passing = way to client program communciate with Deveice drivers ~ Virtual Memory

if Client want to access hardware resource it doens't need to shift to kernel mode it can just communciate with "Right" services.

even Client crash System won't fail.

micro kernel can have performance issue due to system function overhead because message passing , it has to happen all the time

Just like Object Oritented Progamming everything is made of module and dynamically loaded to kernel when needed.

each of layer have protected interfaces. 

unlike layer mode any module can call any other module it doesn't need to go through every layer between.

unlike micro kernel we need "message passing" , but Module mode doesn't need message passing.

 

728x90