Write in your own words to answer the following, if you use material from any book/website apart from your recommended book please provide relevant references. All work will be assumed yours otherwise. Justify your answers where needed. Explain briefly and concisely 1. List 5 types of operating systems with their primary functionality area and do they cater multiple types 2. Based on your knowledge and current state of development are OS-less computer system possible or not. 3. On early computers, every byte of data read or written was handled by the CPU (i.e. there was no DMA). What implications does this have for multiprogramming? 4. A portable operating system is one that can be ported from one system architecture to another without any modification. Explain why it is infeasible to build an operating system that is completely portable. Describe two high-level layers that you will have in designing an operating system that is highly portable.
5. Explain how separation of policy and mechanism aids in building microkernel-based and hybrid operating systems. 6. What are the advantages of using loadable kernel modules? 7. There are several design goals in building an operating system, for example, resource utilization, timeliness, robustness, and so on. Give an example of two design goals that may contradict one another. 8. What is a trap instruction? Explain its use in operating systems. 9. What type of multiplexing (time, space, or both) can be used for sharing the following resources: CPU, memory, disk, network card, printer, keyboard, and display?
10. A portable operating system is one that can be ported from one system architecture to another without any modification. Explain why it is infeasible to build an operating system that is completely portable. Describe two high-level layers that you will have in designing an operating system that is highly portable. 11. Virtual machines have become very popular for a variety of reasons. Nevertheless, they have some downsides. Name one.
12. Describe the process creation mechanism and process lifecycle of Windows what are the steps involved explain in detail 13. Why is the process table needed in a timesharing system? Is it also needed in personal computer systems running UNIX or Windows with a single user? 14. Make sure you have a system available that you can safely crash and reboot, write a c program that attempts to create an unlimited number of child processes and observe what happens. Before running the experiment, type sync to the shell to flush the file system buffers to disk to avoid ruining the file system. You can also do the experiment safely in a virtual machine.
15. Refer to Pg. number 96 (SILBERSCHATZ 9th edition) or help files for following tasks Proceed through the steps described above to create the kernel module and to load and unload the module. Be sure to check the contents of the kernel log buffer using dmesg to ensure you have properly followed the steps. The module should print your name, rollno and system time when loading and unloading Provide code and screenshots of execution
16. In the module entry point, create a linked list containing five struct birthday elements. Traverse the linked list and output its contents to the kernel log buffer. Invoke the dmesg command to ensure the list is properly constructed once the kernel module has been loaded. In the module exit point, delete the elements from the linked list and return the free memory back to the kernel. Again, invoke the dmesg command to check that the list has been removed once the kernel module has been unloaded. Modify the struct to calculate the age of person based on DOB and current day and print it upon removal Provide code and screenshots of execution