+Answer: convenience, efficiency, ability to evolve
+Convenience: An operating system provides convenience to the user for using computer.
+Efficiency: Operating system helps to use computer in efficient manner
+Ability: Operating system should permit effective, development, texting, and introduction to new system function without interfering with service
+
+## 2. What is the kernel of an OS?
+Answer: The kernel is a computer program that manages input/output requests from software and translates them into data processing instructions for the central processing unit and other electronic components of a computer.
+
+
+## 3. What is multiprogramming?
+Answer: Multiprogramming also known as …show more content…
The monolithic model differs from other operating system architectures such the microkernel architecture in that it alone defines a high-level virtual interface over computer hardware. A set of primitives or system calls implement all operating system services such as process management, concurrency, and memory management. Device drivers can be added to the kernel as modules.
+Micro kernel: A microkernel architecture assigns only a few essential functions to the kernel, including address spaces, inter process communication (IPC), and basic scheduling. Other OS services are provided by processes, sometimes called servers, that run in user mode and are treated like any other application by the microkernel. This approach decouples kernel and server development. Servers may be customized to specific application or environment requirements. The microkernel approach simplifies implementation, provides flexibility, and is well suited to a distributed environment. In essence, a microkernel interacts with local and remote server processes in the same way, facilitating construction of distributed …show more content…
With multiple processors executing the same or different parts of the kernel, kernel tables and management structures must be managed properly to avoid data corruption or invalid operations.
+• Scheduling: Any processor may perform scheduling, which complicates the task of enforcing a scheduling policy and assuring that corruption of the scheduler data structures is avoided. If kernel-level multithreading is used, then the opportunity exists to schedule multiple threads from the same process simultaneously on multiple processors.
+• Synchronization: With multiple active processes having potential access to shared address spaces or shared I/O resources, care must be taken to provide effective synchronization. Synchronization is a facility that enforces mutual exclusion and event