Questions Based on Operating System

Requirement 

1. Pick an aspect of an historical operating system (IE. Multics) and detail how a modern system supports that function.
2. Discuss an advantage or a disadvantage of open-source operating systems.
3. When designing a kernel with rudimentary functionality, what are the required services? Justify your answer and provide an example.
4. Provide ONE advantage or ONE disadvantage of a Microkernel OS Design or a Monolithic OS Design. Provide support (back up your claims) for your view.
5. Moving function outside of the kernel or even layering the kernel may provide some benefits. How does virtualization factor into a layered vs. non-layered design discussion? Provide specific support for your answer from academic sources.
6. Does virtualization impact the design of programs on behalf of the process/threading model?
7. Discuss a complication that concurrent processing adds to an operating system.
8. Address the following:  why use threads?
9. Given an operating system that supports a one-to-one relationship between user-level threads and kernel-level threads and allows one or more threads from a process to issue blocking system calls while other threads  (within that process) continue to run. What must a kernel provide for an effective user-level thread implementation?
10. Discuss an application that would benefit from the use of barrier synchronization.
11. Discuss the design and use of an operating system locking primitive.  Include how it either uses or replaces the basic mutex lock.

Solution

Operating System Questions

1. 
Multix started in 1963 and the purpose was to build a comprehensive, time sharing OS. It was the next version of CTSS. Multics was the commercial product (Chatti et al, 2007). The architecture of multics system was layered. The concepts of multics are still in use such as Multics supervisor, and multics segment descriptor works. Moreover, there are many concepts in the UNIX and various other OS that has originated directly from multics.

If you take the computer science assignment help from the talented experts of Allassignmenthelp.com, then you need not worry about deadlines and low grades. The students who took programming assignment help from our website are very satisfied as all of them scored A+ grades in their assignments. You can avail of our computer programming assignment help at the most minimal price.

2. 
Given below are the advantages of open-source operating system:

  • The product is cheaply as available and no major investment is required.

  • The OS is developed by thousands of open workers, therefore strong performance like Ubuntu

  • The software is reliable due to test, and use, and development by many people

  • It increases flexibility as one can adjust OS as required.

Given below are the disadvantages of open-source OS:

  • Vulnerability to malicious users increases

  • It might not be as user friendly required as may be created for personal purposes (Hars & Ou, 2001).

  • There are no dedicated support one can expect.

3. 
Given below are the required services:

  • Primary memory services

  • Calling bootstrap program to invoke kernel program from disk to memory

  • Availability primary interrupt services/system calls

  • Initial scheduling of primary services

4. 

  1. Advantage of Monolithic: It is faster because its source is small and code size is compiled. As it is already understood fact that the lesser number of codes automatically results in less bugs and security issues (Anderson et al, 1991).

  2. Disadvantage of Monolithic: It is a single big pile of code which is its disadvantage. The reason is that if an individual wants to make changes then it will be challenging to do so and consume more time. Fixing bugs will also consume more time than usual.

5.
Virtualization architecture includes seven different layers--

  • Server virtualization

  • Storage virtualization

  • Network virtualization

  • Desktop virtualization

  • Application virtualization

  • Presentation virtualization

  • Management virtualization

6. 
Virtualization is applicable on hardware and software. It is used as the servers, applications, and storage. The virtualization system tracks individual allocations in each guest, as well as total memory utilization for all guests. When physical memory is used up, the next VM allocation can only be made by reclaiming some of the memory in use.
But it is a big problem for performance analysis of programs, for two reasons:
Measured response times in a VM cannot be trusted on a millisecond granularity.
Method-level performance analysis is a problem because a method might appear to be more expensive
Virtualization is the process whereby the system hardware is virtualized, thus providing the appearance to guest operating systems and applications that they are running on native hardware. In many virtualized environments, virtualization software runs at near native speeds. Simulation is the approach whereby the actual system is running on one set of hardware, but the guess system is compiled for a different set of hardware. Simulation software must simulate — or emulate — the hardware that the guest system is expecting. Because each instruction for 6 the guest system must be simulated in software rather than hardware, simulation is typically much slower than virtualization.

7. 
The complications that are added to the operating system by concurrent processes are given below: 
System resources as well as processes need protection, even from each other. Limitations need to be imposed on the processes on factors like memory they can access and operations it can perform on devices. The operating system needs to keep a track of memory space allocated to all the processes, so that the processes do not harm other processes. 
If a process running in the system requires a lot of memory, other processes need to be shifted to the hard disk, which requires a lot of time, contributing to the time overhead on the operating system. 
All running processes must have access to the system, which should be made possible by implementing time sharing. This requires preemption of processes that do not give up the Cpu and the kemel on their own. And switching from one process to another also contributes to the time overhead. 

8.
Threads support in multitasking and therefore it is used. Simultaneous task such as reading email, connecting modem, opening other document, and others are done using threads. 

9. 
The approach the Kernel should provide is “Multithreaded Architecture”
Multithreaded Architecture:

  • User Level Threads (ULT): Implemented through a thread library in the address space of a process, these are invisible to the OS. A user level thread is created user-created unit of execution within a process.

  • Lightweight Process (LWP): A light weight process can be viewed as a mapping between ULT and kernel threads. LWPs are scheduled by the kernel independently and may execute in parallel or multiprocessors.

  • Kernel Threads: These are the fundamental entities that can be scheduled and dispatched to run on one of the system processors.

10. 
Routers routing protocol application is what benefits from the use of barrier synchronization. Barriers provide a means of ensuring that no process in a group of processes advances beyond a particular point in a computation, until all have arrived at that point (Mellor-Crummey, 1991). In other words, it forces a process to wait until other processes have reached a specified point. This is beneficial in a routing protocol because in a packet switching network in order for a router to forward packets toward its final destination all of the packets for that message must arrive at the router. The embedded systems of routers may use a combination of both hardware and software to enforce its barriers.

11. 
A lock is used for basic protection of shared resources. Multiple threads can attempt to acquire a lock, but only one thread can actually hold it at any given time (at least for traditional locks—more on this later). While that thread holds the lock, the other threads must wait. There are several different types of locks, differing mainly in what threads do while waiting to acquire them.
Mutex Class
Threads request a Mutex by calling an overload of its WaitOne method. Overloads with timeouts are provided, to allow threads to give up the wait. Unlike the Monitor class, a mutex can be either local or global. Global mutexes, also called named mutexes, are visible throughout the operating system, and can be used to synchronize threads in multiple application domains or processes. Local mutexes derive from MarshalByRefObject, and can be used across application domain boundaries.
In addition, Mutex derives from Wait Handle, which means that it can be used with the signaling mechanisms provided by Wait Handle, such as the Wait All, Wait Any, and Signal And Wait methods.

Place Order For A Top Grade Assignment Now

We have some amazing discount offers running for the students

Place Your Order

References

  • Chatti, N., Kaouk, S., Calabretto, S., & Pinon, J. M. (2007, August). MultiX: an XML-based formalism to encode multi-structured documents. In Proceedings of Extreme Markup Languages.

  • Hars, A., & Ou, S. (2001, January). Working for free? Motivations of participating in open source projects. In System Sciences, 2001. Proceedings of the 34th Annual Hawaii International Conference on (pp. 9-pp). IEEE.

  • Anderson, T. E., Levy, H. M., Bershad, B. N., & Lazowska, E. D. (1991, April). The interaction of architecture and operating system design. In ACM SIGARCH Computer Architecture News (Vol. 19, No. 2, pp. 108-120). ACM.

Get Quality Assignment Without Paying Upfront

Hire World's #1 Assignment Help Company

Place Your Order