Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Operating Systems Concepts Homework #2,Separation of Concerns An operating syste

ID: 3701902 • Letter: O

Question

Operating Systems Concepts

Homework #2,Separation of Concerns

An operating system acts as an intermediary between the user of a computer and the computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs in a convenient and efficient manner. An operating system is software that manages the computer hard- ware. The hardware must provide appropriate mechanisms to ensure the correct operation of the computer system and to prevent user programs from interfering with the proper operation of the system. Internally, operating systems vary greatly in their makeup, since they are organized along many different lines. The design of a new operating system is a major task. It is important that the goals of the system be well defined before the design begins. These goals form the basis for choices among various algorithms and strategies. Because an operating system is large and complex, it must be created piece by piece. Each of these pieces should be a well-delineated portion of the system, with carefully defined inputs, outputs, and functions.

So far, we have looked at three major categories of OS responsibility: 1) Process Management, 2) Memory Management, and now 3) Storage Management. To manage and maintain the complexity of an Operating System, many vendors separate the OS concerns into smaller, replaceable components.

For each of these major categories of OS responsibility, you are to identify 3 components of independent, separate concerns, for a total of 9 components. For each of these 9 components, describe the component’s responsibility and provide an example of an implementation of that component.

For example, within the Memory Management component, separating the capability to translate logical addresses to physical addresses is one separate area of concern. This component is typically a hardware component (the MMU) manufactured to support a very specific architecture, such as the ARM Architecture (page 387) with 4-KB and 16-KB, or 1-MB and 16-MB pages for a 32-bit address. Fixing a bug, or upgrading the address translation algorithm version is confined to the MMU and the OS component, isolating this concern from other parts of the OS.

Okay, there is one of the nine – now give me 8 more. I can break it down and ask multi times if needed

Explanation / Answer

Please find details as following.

1) Process Management,

Following is the independent, separate concerns component of  Process Management.

1. Separate area of concern is the Create, load, execute, suspend, resume, and terminate processes?

2. Separate area of concern is manage process scheduling? .

3.Separate area of concern is process synchronization?

2) Memory Management,

Following is the independent, separate concerns component of  Memory Management.

--1.capability to translate logical addresses to physical addresses is one separate area of concern

--2.capability to  allocate memory space for programs (explicitly and implicitly) is one separate area of concern

--3.capability to  deallocate space when needed by rest of system is one separate area of concern

--4 capability to  decide how much memory to allocate to each process  is one separate area of concern

3) Storage Management

Following is the independent, separate concerns component of  Storage Management.

--1.capability to manage free space (free space management) is one separate area of concern

--2. capability to manage Storage allocation is one separate area of concern

--3. capability to manage Disk scheduling is one separate area of concern

Now find the description and implementation of each 8 component as following

Process Management:

1. Separate area of concern is the Create, load, execute, suspend, resume, and terminate processes?

A process is a program in execution? , so whenever any use start any program then a separate process is started and memory space is allocated to that process the program is loaded into memory and process remain active after that. example of this is whenever you are any program like SQL server then process is created which you can see using TASK MANAGER .

2. Separate area of concern is manage process scheduling? .

Process management help in switching system among multiple processes in main memory. example of this is when we run multiple program at same time then some application run while other is stopped state or hanged state so process management distribute time among multiple executing program,

3.Separate area of concern is process synchronization?

Process management help in controlling concurrent* access to shared data to keep shared data consistent. example of this whenever two application is running and need to communicate to each other this is where process synchronization help in.

2) Memory Management,

Following is the independent, separate concerns component of  Memory Management.

1.capability to translate logical addresses to physical addresses is one separate area of concern

already given in question itself.

2.capability to  allocate memory space for programs (explicitly and implicitly) is one separate area of concern

In order for a program to be executed it must be mapped to absolute addresses and loaded in to memory. so to run a program space allocation is must otherwise it is not possible to run the program . Whenever we run any program memory is allocated for that program .

--3.capability to  deallocate space when needed by rest of system is one separate area of concern

As we know that In order for a program to be executed it must be mapped to absolute addresses and loaded in to memory . so once memory is allocated and if it is not deallocated or deleted then system will be crashed and whole computer will be in hanged state. so deallocation is important to smooth functioning of system . example to this is whenever you run any android app then it allocate some memory and when you stop that app then memory is freed and avaiable for next program.

--4 capability to  decide how much memory to allocate to each process  is one separate area of concern.

In memory management , it is very important to determine how much space is needed to each process otherwise a small program like notepad opening will take same memory as running a very BIG task like running JAVA based banking software then it not efficient memory management.

3) Storage Management

Following is the independent, separate concerns component of  Memory Management.

As we know that we can run multiple program at same hence controlling and providing the Memory to all the Processes in Operating System called Disk Scheduling. when I/O request issues a system call to the OS then it is checked If desired disk drive or controller is available, request is served immediately. If busy, new request for service will be placed in the queue of pending requests. When one request is completed, the OS has to choose which pending request to service next