Academia.eduAcademia.edu

Outline

PRINCIPLES OF Operating Systems

Abstract

PRINCIPLES OF Operating Systems by Naresh Chauhan(OXFORD)

References (300)

  1. What is the need for an operating system?
  2. What are the functions of an OS from user's viewpoint?
  3. What are the functions of an OS from system's viewpoint?
  4. What were the difficulties in second generation from OS viewpoint? 5. What is a resident monitor?
  5. What is JCL?
  6. What is offline operation?
  7. What is the difference between online and offline operation on a computer system?
  8. How did the disks solve the problem faced with the mag- netic tapes?
  9. What is SPOOL? What is the benefit of spooling? 11. Give a brief overview of development of UNIX? 12. Explain the difference between DOS, UNIX, Apple Macin- tosh, and Windows? 13. Explain the differences between multi-programming, multi- user, and multi-tasking OSs.
  10. Explain the characteristics of multi-processor and distrib- uted systems.
  11. What is the differences between network and distributed OSs? 16. What is the difference between real-time and embedded operating systems?
  12. How does operating system function as resource manager? 18. How does operating system provide protection?
  13. What is a virtual machine? How does operating system function as a virtual machine manager?
  14. Discuss the role of shell and kernel in operating system.
  15. What are the challenges in designing a multiprocessing/ distributed operating systems?
  16. What is the difference between a smart card and smart- phone? REVIEW QUESTIONS 1. What is resource abstraction? Explain with an example.
  17. What are the benefits of resource abstraction? 3. What is the difference between time division multiplexing and space division multiplexing?
  18. Give examples of hardware, software, and virtual resources.
  19. How are hardware resources mapped into their virtual resources? 6. Explain various resource-management functions.
  20. What is the difference between (a) consumable and non-consumable resources and (b) pre-emptive and nonpre-emptive resources
  21. Give examples of the resources asked in Question 7.
  22. Name the resource type of the following: process, semaphore, memory, VM, file, and page table 10. What is a deadlock? 11. What is process synchronization? 12. What are the methods to allocate a process in memory? 13. What is VM? 14. What is free-space management? 15. What is disk scheduling? 16. What is swap space management? 17. What is a file system? 18. What is the purpose of file allocation table? 19. What is I/O subsystem? 20. What is a device driver?
  23. Explain the deadlock and starvation problems in dining-philosophers' problem.
  24. Why can deadlock not happen in two-phase locking?
  25. Two-phase locking can lead to starvation. How? 21. What will be the consequences of a deadlock in a real-time system?
  26. What are the strategies that can be employed to handle deadlock in a real-time system? REVIEW QUESTIONS 1. Define protection domain.
  27. What are the various policies of access control mechanisms?
  28. What is an access matrix? What type of operation can be done on it?
  29. Explain the variants of copy operation on access matrix.
  30. Explain the owner access right on access matrix.
  31. Explain the control access right on access matrix.
  32. What is an ACL? What are its advantages?
  33. What is a generic ACL?
  34. What is a C-list? What are its advantages? 10. Why C-lists are kept inside the kernel space? 11. What is token-based C-list?
  35. Explain how password authentication is prone to attacks. 13. What are encrypted passwords? 14. What are hashed passwords? 15. What are one-time passwords (OTPs)? 16. What is token-based authentication? 17. What is biometric-based authentication? 18. What is an IDS? Explain the various types of IDS.
  36. What are the methods to counter-measure the worms? 20. How do you deal with mobile code? 21. How do you deal with buffer-overflow attack? 22. What is sandboxing? 23. What is a security kernel? How is it designed? 24. Explain and distinguish BLP and Biba security models.
  37. 9.2 Ricart-Agarwala Algorithm Keeping in view the disadvantages of centralized algorithm for mutual exclusion, a fully- distributed algorithm was developed by Ricart and Agarwala. According to this algorithm, a process wishing to enter its critical section sends a time-stamped request message to all other processes, and waits. The format of a message is as follows: REVIEW QUESTIONS 1. Explain three types of multi-processor system architectures.
  38. Explain various structures for multi-processor OSs.
  39. Explain the role of spinlocks in achieving synchronization in multi-processor systems.
  40. What are the advantages of SLIC chip?
  41. What are the various scheduling criteria considered in multi- processor scheduling?
  42. What is cache corruption? 7. What is residual dependency? 8. What is the difference between job-blind and job-aware scheduling algorithms?
  43. What is affinity-based scheduling?
  44. What is gang scheduling?
  45. What are the various process-migration strategies used in multi-processor systems?
  46. Files stored on an ext4 file system are stored in extents that reduces fragmentation and improves performance. The contiguous space of 128 MB can be mapped with a single extent having block size of 4 KB. In the inode, there can be four extents. In case there are more than four extents, the rest of the extents are stored in an HTree (a specialized version of B-tree).
  47. A directory can contain maximum 64,000 subdirectories, whereas ext3 supports 32,000.
  48. It also uses multi-block allocation method that writes multiple blocks at once to increase the performance.
  49. Along with multi-block allocation, delayed allocation is also used that flushes cache at a regular fixed time interval.
  50. To improve performance, logging feature can be turned off, if required.
  51. To improve the reliability, journal checksumming has been used.
  52. An improved time stamp has been implemented in this file system. Since the Linux system may be used in mission critical systems, it provides time stamps measured in nanoseconds. Moreover, two more bits have been added in the seconds field of timestamp.
  53. Pre-allocation is also supported in ext4.
  54. The I/O request is passed to the environment sub-system.
  55. The environment sub-system passes this request to the I/O manager.
  56. The I/O manager after interpreting the request builds an IRP.
  57. The I/O manager then forwards this IRP to the first driver in the stack for processing.
  58. The driver processes the request and passes the IRP to the next driver in the stack.
  59. When the IRP reaches the lowest-level driver, it checks the validity of the input parameters and notifies the I/O manager about an I/O request pending.
  60. The I/O manager on the availability of I/O device calls the required driver routine that handles the requested I/O operation. REVIEW QUESTIONS 1. What is an interrupt? What are its types?
  61. What is IVT?
  62. What is ISR?
  63. What is a trap?
  64. Provide some examples when software interrupt is generated.
  65. Provide some examples when hardware interrupt is generated.
  66. How are multiple interrupts handled?
  67. Differentiate between blocking and non-blocking I/O devices.
  68. What is a timer? Explain its role in operating system.
  69. What is a device controller? How does it work? 12. What is a device driver? Explain its functioning with device controller and operating system.
  70. What were the basic problems in multi-programming-based modern operating systems?
  71. What is the need of a dual mode protection? 15. What is the need of memory protection? 16. What is the need of processor protection? 17. What is the need of I/O protection? 18. Explain the physical structure of a magnetic disk.
  72. What is disk partitioning?
  73. Differentiate between primary and extended partitions. 22. What is MBR? REVIEW QUESTIONS 1. What is an interrupt? What are its types?
  74. What is IVT?
  75. What is ISR?
  76. What is a trap?
  77. Provide some examples when software interrupt is generated.
  78. Provide some examples when hardware interrupt is generated.
  79. How are multiple interrupts handled?
  80. Differentiate between blocking and non-blocking I/O devices.
  81. What is a timer? Explain its role in operating system.
  82. What is a device controller? How does it work? 12. What is a device driver? Explain its functioning with device controller and operating system.
  83. What were the basic problems in multi-programming-based modern operating systems?
  84. What is the need of a dual mode protection? 15. What is the need of memory protection? 16. What is the need of processor protection? 17. What is the need of I/O protection? 18. Explain the physical structure of a magnetic disk.
  85. What is disk partitioning?
  86. Differentiate between primary and extended partitions. 22. What is MBR?
  87. Explain the characteristics of multiprocessor and distributed systems.
  88. What is the differences between network and distributed OSs? 16. What is the difference between real-time and embedded operating systems? 20. Discuss the role of shell and kernel in operating system.
  89. What are the challenges in designing a multiprocessing/ distributed operating systems?
  90. What is the difference between a smart card and smart- phone? Part I Introduction Corbato, F.J., Saltzer, J.H., and Clingen, C.T.: "MULTICS-The First Seven Years," Proc. AFIPS Spring Joint Computer Conf., AFIPS, pp. 571-583, 1972.
  91. Corbato, F.J., and Vyssotsky, V.A.: "Introduction and Overview of the MULTICS System," Proc. AFIPS Fall Joint Computer Conf., AFIPS, pp. 185-196, 1965.
  92. Engler, D.R., Kaashoek, M.F., and O'Toole, J. Jr.: "Exokernel: An Operating System Architecture for Application-Level Resource Management," Proc. 15th Symp. on Operating Systems Principles, ACM, pp. 251-266, 1995.
  93. Kaashoek, M.F., Engler, D.R., Ganger, G.R., Briceno, H., Hunt, R., Mazieres, D., Pinckney, T., Grimm, R., Jannotti, J., and Mackenzie, K.: "Application Performance and Flexibility on Exokernel Systems," Proc. 16th Symp. on Operating Systems Principles, ACM, pp. 52-65, 1997.
  94. Ng, S.W.: "Advances in Disk Technology: Performance Issues," Computer, vol. 31, pp. 75-81, May 1998.
  95. Stallings, W.: Operating Systems, 4th Ed., Upper Saddle River, NJ: Prentice Hall, 2001.
  96. Tanenbaum, A.S., and Van Steen, M.R.: Distributed Systems, Upper Saddle River, NJ: Prentice Hall, 2002.
  97. Goyeneche, J., and Souse, E. "Loadable Kernel Modules." IEEE Software, January/February 1999.
  98. McDougall, R., and Mauro, J. Solaris Internals: Solaris 10 and Open Solaris Kernel Architecture. Palo Alto, CA: Sun Microsystems Press, 2007.
  99. Milenkovic, M., Operating Systems : Concepts and Design, New York: McGraw Hill, 1992.
  100. Ritchie, D. "UNIX Time-Sharing System. A Retrospective." The Bell System Technical Journal, July-August, 1978.
  101. Ritchie, D. "The Evolution of the UNIX Time-Sharing System." AT & T Bell Labs Technical Journal, October 1984. Part II Process Management
  102. Anderson, T.E., Bershad, B.N., Lazowska, E.D., and Levy, H.M., "Scheduler Activations: Effective Kernel Support for the User-level Management of Parallelism," ACM Trans. on Computer Systems, vol. 10, pp. 53-79, Feb, 1992.
  103. Andrews, G.R., and Schneider, F.B.: "Concepts and Notations for Concurrent Programming," Computing Surveys, vol. 15, pp. 3-43, March 1983.
  104. Arora, A.S., Blumofe, R.D., and Plaxton, C.G.: "Thread Scheduling for Multiprogrammed Multiprocessors," Proc. Tenth Symp. on Parallel Algorithms and Architectures, ACM, pp. 119-129, 1998.
  105. Blumofe, R.D., and Leiserson, C.E.:"Scheduling Multithreaded Computations by Work Stealing," Proc. 35th Annual Symp. on Foundations of Computer Science, IEEE, pp. 356-368, Nov. 1994.
  106. Bricker, A., Gien, M., Guillemont, M., Lipkis, J., Orr, D., and Rozier, M.: "A New Look at Microkernel-Based UNIX Operating Systems: Lessons in Performance and Compatibility," Proc. EurOpen Spring '91 Conf., EurOpen, pp. 13-32, 1991.
  107. Buchanan, M., and Chien, A.: "Coordinated Thread Scheduling for Workstation Clusters Under Windows NT." The USENIX Windows NT Workshop, USENIX, pp. 47-??, 1997.
  108. Carr, R.W., and Hennessy, J.L.: "WSClock-A Simple and Effective Algorithm for Virtual Memory Management," Proc. Eighth Symp. on Operating Systems Principles, ACM, pp. 87-95, 1981.
  109. Chandra, A., Adler, M., Goyal, P., and Shenoy, P.: s10 "Surplus Fair Scheduling: A Proportional-Share CPU Scheduling Algorithm for Symmetric Multiprocessors," Proc. Fourth Symp. on Operating Systems Design and Implementation, USENIX, pp. 45-58, 2000.
  110. Corbalan, J., Martorell, X., and Labarta, J.: "Performance-Driven Processor Allocation," Proc. Fourth Symp. on Operating Systems Design and Implementation, USENIX, pp. 59-71, 2000.
  111. Courtois, P.J., Hevmans, F., and Parnas, D.L.: "Concurrent Control with Readers and Writers," Commun. of the ACM, vol. 10, pp. 667-668, Oct. 197.
  112. Duda, K.J., and Cheriton, D.R.: "Borrowed-Virtual-Time (BVT) Scheduling: Supporting Latency-Sensitive Threads in a General- Purpose Scheduler," Proc. 17th Symp. on Operating Systems Principles, ACM, pp. 261-276, 1999.
  113. Havender, J.W.: "Avoiding Deadlock in Multitasking Systems." IBM Systems Journal, vol. 7, pp. 74-84, 1968.
  114. Hoare, C.A.R.: "Monitors, An Operating System Structuring Concept," Commun. of the ACM, vol. 17, pp. 549-557, Oct. 1974; Erratum in Commun. of the ACM, vol. 18. p. 95, Feb. 1975.
  115. Isloor, S.S., and Marsland, T.A.: "The Deadlock Problem: An Overview," Computer, vol. 13, pp. 58-78, Sept. 1980.
  116. Newton, G.: "Deadlock Prevention, Detection, and Resolution: An Annotated Bibliography," Operating Systems Review, vol. 13, pp. 33-44, April 1979.
  117. Peterson, G.L.: "Myths about the Mutual Exclusion Problem," Information Processing Letters, vol. 12, pp. 115-116, June 1981.
  118. Petrou, D., Milford, J., and Gibson, G.: "Implementing Lottery Scheduling," Proc. USENIX Annual Tech. Conf., USENIX, pp. 1-14, 1999.
  119. Philbin, J., Edler, J., Anshus, O.J., Douglas, C.C., and Li, K.: "Thread Scheduling for Cache Locality," Proc. Seventh Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, ACM, pp. 60-71, 1996.
  120. Tai, K.C., and Carver, R.H.: "VP: A New Operation for Semaphores," Operating Systems Review, vol. 30, pp. 5-11, July 1996.
  121. Walker, W., and Cragon, H.G.: "Interrupt Processing in Concurrent Processors," Computer, vol. 28, pp. 36-46, June 1995.
  122. Zobel, D.: "The Deadlock Problem: A Classifying Bibliography," Operating Systems Review, vol. 17, pp. 6-16, Oct. 1983. Abramson, T. "Detecting Potential Deadlocks". Dr. Dobb's Journal, January, 2006
  123. Anderson, T.; Laxowska, E; and Levy H. "The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors." IEEE Transaction on Computers, December 1989.
  124. Anderson, T.; Bershad, B; Laxowska, E; and Levy H. " Thread Management Alternatives for Shared-Memory Multiprocessors." In [TUCK04].
  125. Andres,G., and Schneider, F. "Concepts and Notations for Concurrence Programming," Computer Surveys, March 1983.
  126. Axford, T. Concurrent Programming: Fundamental Techniques for Real-Time and Parallel Software Design. New York: Wiley, 1988.
  127. Barkely, R., and Lee, T. "A Lazy Buddy System Bounded by Two Coalescing Delays per Class." Proceedings of the 12 th ACM Symposium on Operating Systems Principles, December 1989.
  128. Birrell, A. An Introduction to Programming with Threads. SRC Research Re-available at http://www.research.compaq.com/SRC.
  129. Buhr, P., and Fortier, M. "Monitor Classification." ACM Computing Surveys, March,1995
  130. Carr, S; Mayo, J.;and Shene, C. "Race Conditions: A Case Study." The journal of Computing in Small Colleges, October,2001.
  131. Corbett, J. "Evaluating Deadlock Detection Methods for Concurrent Software," IEEE Transactions on Software Engineering, March 1996.
  132. Datta, A., and Ghosh, S. "Deadlock Detection in Distributed Systems." Proceedings, Phoenix Conference on Computers and Communications, March 1990.
  133. Datta, A.; Javagal, R.; and Ghosh, S. "An Algorithm for Resource Deadlock Detection in Distributed Systems," Computer System Science and Engineering, October 1992.
  134. Denning, P. The Locality Principle" Communications of the ACM July 2005.
  135. Dimitoglou, G. "Deadlocks and Methods for Their Detection, Prevention and Recovery in Modern Operating Systems." Operating Systems Review, July, 1998.
  136. Downey, A. The Little Book of Semaphores. www.greenteapress.com/semaphores.
  137. Gray, J. Inter process Communications in UNIX: The Nooks and Crannies. Upper Saddle River, NJ: Prentice Hall, 1997.
  138. Haldar, S., and Subramanian, D. "Fairness in Processor Scheduling in Time Sharing Systems" Operating Systems Review, January, 1991.
  139. Hartig, H., et al. "The Performance of a u-Kernel-Based System." Proceedings Sixteenth ACM Symposium on Operating Systems Principles, December 1997.
  140. Henry, G. "The Fair Share Scheduler." AT & T Bell Laboratories Technical Journal, October 1984.
  141. Hoare, C. "Monitors: An Operating System Structuring Concept." Communications of the ACM October, 1974.
  142. Howard, J. "Mixed Solutions for the Deadlock Problem." Communications of the ACM July, 1973. Bibliography 659
  143. Johnston, B.; Javagal, R.; Datta, A.; and Ghosh, S. "A Distributed Algorithm for Resource Deadlock Detection." Proceedings, Tenth Annual Phoenix Conference on Computers and Communications, March 1991.
  144. Kang, S., and Lee, J. "Analysis and Solution on Non-Preemptive Policies for Scheduling Readers and Writers." Operating Systems Review, July 1998.
  145. Kay, J., and Lauder, P. "A Fair Share Scheduler." Communications of the ACM, January 1988. Kent, S. "On the Trail of Intrusions into Information Systems." IEEE Spectrum, December 2000.
  146. Kleiman, S. "Interrupts as Threads." Operating System Review, April, 1995.
  147. Kleiman, S.; Shah, D.; and Smallders, B. Programming with Threads. Upper Saddle River, NJ: Prentice Hall 1996.
  148. Lamport, L. "A New Solution to Dijkstra's Concurrent Programming Problem." Communications of the ACM, August 1974. Lamport, L. "The Mutual Exclusion Problem." Journal of the ACM, April 1986.
  149. Lamport, L. "The Mutual Exclusion Problem Has Been Solved." Communications of the ACM January 1991.
  150. Levine, G. "Defining Deadlock with Fungible Resources." Operating Systems Review, July 2003.
  151. Lewis, B, and Berg, D. Threads Primer, Upper Saddle River, NJ: Prentice Hall, 1996.
  152. Liedtke, J. "On u-Kernel Construction." Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, December 1995. Liedtke, J. "Toward Real Microkernels." Communications of the ACM, September 1996.
  153. Liedtke, J. "Microkernels Must and Can Be Small." Proceedings, Fifth International Workshop on Object Orientation in Operating Systems, October 1996.
  154. Liu, C., and Layland, J. "Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment." Journal of the ACM February 1973.
  155. Part III Memory Management
  156. Denning, P.J.: "Thrashing: Its Causes and Prevention," Proc. AFIPS National Computer Conf., AFIPS, pp. 915-922, 1968b.
  157. Denning, P.J.: "Virtual Memory," Computing Surveys, vol. 2, pp. 153-189, Sept. 1970.
  158. Jacob, B., and Mudge, T. "Virtual Memory: Issues of Implementation." Computer, June 1998.
  159. Jacob, B., and Mudge, T. "Virtual memory in Contemporary Microprocessors." IEEE Micro, August 1998.
  160. Johnson, T., and Davis, T. "Space Efficient Parallel Buddy memory Management." Proceedings Third International Conference on Computers and Information, May 1992.
  161. Khalidii, Y.; Talluri, M.; Williams, D.; and Nelson, M. "Virtual Memory Support for Multiple Page Sizes." Proceedings, Fourth Workshop on Workstation Operating Systems, October, 1993.
  162. "Microsoft Windows Timeline", www. Technicalminded.com/widows-timeline.htm.
  163. Peterson, J.L., T.A. Normann, "Buddy Systems", Communications of the ACM, 20(6), pp. 421-431.
  164. Aho, A.V., P.J. Denning, J.D. Ullman, "Principles of optimal page replacement", Journal of ACM, 18(1), pp. 80-93, 1971. Jeff Bonwick. The slab allocator: An object-caching kernel memory allocator.Usenix proceedings, 1994. Electronic document, available on www.usenix.org/publications/library/proceedings/bos94/full_papers/bonwick.ps.
  165. Gorman, M., Understanding the Linux Virtual Memory Manager, Upper Saddle River, NJ: Prentice Hall, 2004. Part IV File Management
  166. Rosenblum, M., and Ousterhout, J.K.: "The Design and Implementation of a Log-Structured File System," Proc. 13th Symp. on Oper. Sys. Prin., ACM, pp. 1-15. 1991.
  167. Roselli, D., and Lorch, J.R.: "A Comparison of File System Workloads," Proc. USENIX Annual Tech. Conf., USENIX, pp. 41-54, 2000.
  168. Rubini, A., "The Virtual File System in Linux", Linux Journal, May 1997 p4. Part V Input-Output Management
  169. Chen, P.M., Lee, E.K., Gibson, G.A., Katz, R.H., and Patterson, D.A.: "RAID: High Performance Reliable Storage," Comp. Surv., vol. 26, pp. 145-185, June 1994.
  170. Chen, S., and Towsley, D.: "A Performance Evaluation of RAID Architectures," IEEE Trans. On Computers, vol. 45, pp. 1116-1130, Oct. 1996.
  171. Geist, R., and Daniel, S.: "A Continuum of Disk Scheduling Algorithms," ACM Trans. on Computer Systems, vol. 5, pp. 77-92, Feb. 1987.
  172. Patterson, D.A., Gibson, G., and Katz, R.: "A Case for Redundant Arrays of Inexpensive Disks (RAID)," Proc. ACM SIGMOD Int'l Conf. on Management of Data, ACM, pp. 109-166, 1988.
  173. Reddy, A.L.N., and Wyllie, J.C.: "Disk Scheduling in a Multimedia I/O System," Proc. ACM Multimedia Conf., ACM, pp. 225-233, 1992.
  174. Rompogiannakis, Y., Nerjes, G., Muth, P., Paterakis, M., Triantafillou, P., and Weikum, G.: "Disk Scheduling for Mixed-Media Workloads in a Multimedia Server," Proc. Sixth Int'l Conf. on Multimedia, ACM, pp. 297-302, 1998.
  175. Worthington, B.L., Ganger, G.R., and Patt, Y.N.: 'Scheduling Algorithms for Modem Disk Drives," Proc. 1994 Conf. on Measurement and Modeling of Computer Systems, pp. 241-251, 1994.
  176. Chen, P.; Lee, E; Gibson, G,;
  177. Katz, R.; and Patterson, D. "RAID: High-Performance, Reliable Secondary Storage." ACM Computing Surveys, June 1994.
  178. Chen,S., and Towsley, D. "A Performance Evaluation of RAID Architectures." IEEE transactions on Computers, October 1996. Eischen, C. "RAID 6 Covers More Bases," Network World, April 9, 2007.
  179. Iyer, S., and Druschel, P. "Anticipatory Scheduling: A Disk Scheduling Framework to Overcome Deceptive Idleness in Synchronous I/O." Proceedings, 18 th ACM Symposium on Operating Systems Principles, October, 2001.
  180. Pai, V; Druschel, P; and Zwaenepoel, W. "IO-Lite: A Unified I/O Buffering and Caching System." ACM Transactions on Computer Systems, February 2000.
  181. Seltzer, M.; Chen, P; and Ousterhout, J. "Disk Scheduling Revisited." Proceedings, USENIX Winter Technical Conference, January 1990.
  182. Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. Linux Device Drivers.O'Reilly, 3rd edition, 2005.
  183. Sreekrishnan Venkateswaran. Essential Linux Device Drivers. Prentice Hall, 2008. Part VI Security and Protection
  184. Klein, D.V.: "Foiling the Cracker: A Survey of, and Improvements to, Password Security," Proc.UNIX Security Workshop II, USENIX, Summer 1990.
  185. Milojicic, D.: "Security and Privacy," IEEE Concurrency, vol. 8, pp. 70-79, April-June 2000.
  186. Morris, R., and Thompson, K.: "Password Security: A Case History," Commun. of the ACM, vol. 22, pp. 594-597, Nov. 1979.
  187. Pankanti, S., Bolle, R.M., and Jain, A.: "Biometrics: The Future of Identification," Computer, vol. 33, pp. 46-49, Feb. 2000. Aycock, J. Computer Viruses and Malware, New York: Springer, 2006.
  188. Chen, S., and Tang, T. "Slowing Down Internet Worms," Proceedings of the 24 th International Conference on Distributed Computing Systems, 2004.
  189. Chess, D. "The Future of Viruses on the Internet." Proceedings, Virus Bulletin International Conference, October, 1997.
  190. Chinchani, R., and Berg, E. "A Fast Static Analysis Approach to Detect Exploit Code Inside Network Flows." Recent Advances in Intrusion Detection, 8 th International Symposium,2005.
  191. Kephart, J.; Sorkin, G.; Chess, D.; and White, S. "Fighting Computer Viruses." Scientific American, November 1997.
  192. Levine, J;
  193. Grizzard, J; and Owen, H. "Detecting and Categorizing Kernel-Level Rootkits to Aid Future Detection." IEEE Security and Privacy, May-June 2005.
  194. I hee, K., and Chapin, S., "Buffer Overflow and Format String Overflow Vulnerabilities." Software -Practice and Experience, Volume 22, 2003. Bibliography 661
  195. McHaugh, J: Christie, A; and Allen, J. "The Role of Intrusion Detection Systems." IEEE Software, September/October 2000.
  196. Morris, R., and Thompson, K. "Password Security: A Case History." Communications of the ACM November 1979.
  197. Sandhu, R. and Samarati, P. "Access Control: Principles and Practice." IEEE Communications, September 1994.
  198. Sandhu, R. et al. "Role-Based Access Control Models." Computer, September 1994. Scarfone, K., and Mell P. Guide to Intrusion Detection and Prevention Systems. NIST Special Publication SP 800-94, February 2007.
  199. Stallings, W., and Brown L. Computer Security: Principles and Practice. Upper Saddle River, NJ: Printice Hall, 2008.
  200. Wagner, D., and Goldberg, I. "Proofs of Security for the UNIX Password Hashing Algorithm." Proceedings, ASIACRYPT'00, 2000.
  201. Zou, C., et al. "The Monitoring and Early Detection of Internet Worms." IEEE/ACM Transactions on Networking, October, 2005.
  202. Parts I -VI Crowley, C. Operating Systems: A Design-oriented approach, Tata McGraw Hill, 1998.
  203. Dhamdhere, D.M. Operating Systems: A Concept based approach, Tata McGraw Hill, 2002.
  204. Silberschatz A., P.B. Galvin, G. Gagne, Operating system concepts, John Wiley & Sons, Inc., 2002.
  205. Godbole, A.S. Operating Systems, Tata McGraw Hill, 2005. Bach, M.J. The Design of UNIX Operating System, PHI, 1986.
  206. Deitel H.M., P.J. Deitel, D.R. Choffnes, Operating Systems, Pearson Education, 2008.
  207. Tanenbaum, A.S. Modern Operating Systems, Pearson Education, 2002.
  208. Stallings, W. Operating Systems: Internals and Design Principles, Pearson Education, 2009.
  209. Bovet, D.P. and Marco Cesati. Understanding the Linux Kernel. O'Reilly, 3rd Ed, 2005.
  210. Greg Kroah-Hartman, Linux Kernel in a Nutshell. O'Reilly, 2007.
  211. Remy Card, Eric Dumas, Franc Mevel, The Linux Kernel Book, Wiley, 1998.
  212. Bovet, D., Cesati, M., Understanding the Linux Kernel, Sebastopol, CA: O'Reily, 2006.
  213. Love, R., Linux Kernel Development, Indianpolis, IN: Novell Press, 2005. Part VII Advanced Operating Systems Bal, H.E., R. Van Renesse, A.S. Tanenbaum, "Implementing distributed algorithms using remote procedure calls", Proceedings of the National Computer Conference, AFIPS, 1987, pp. 499-505.
  214. Bershad, B.N., T.E. Anderson, E.D. Lazowska, H.M. Levy, "Lightweight Remote Procedure Call", Proceedings of the 12 th ACM Symposium on Operating system Principles, Special issue of Operating system Review, vol. 23, no. 5, Dec. 1989, pp. 1102-113.
  215. Rozier, M., J.M. Legatheaus, "The Chorus Distributed Operating system: Some Design Issues", Proceedings of the NATO Advanced Study Institute on Distributed Operating Systems: Theory and Practice, Springer -Verlag, New York, 1986, pp. 261-289.
  216. Sinha, P.K., M. Maekawa, K. Shimizu, X. Jia, H. Ashihara, N. Utsunomiya, K.S. Park, H. Nakano, "The GALAXY Distributed Operating system", IEEE Computer, vol. 24, no. 8, 1991, pp. 34-41.
  217. Tanenbaum, A.S., R. Van Renesse, H. Van Staveren, G. J. Sharp, S.J. Mullender, J. Janesen, G. van Rossum, " Experience with the Amoeba Distributed Operating System", Communications of the ACM, vol. 33, no. 12, 1990, pp. 46-63.
  218. Chandy, K.M., L. Lamport, "Distributed Snapshots-Determining Global states of Distributed Systems", ACM Transactions on Computer Systems, vol. 3, no. 1, 1985, pp. 272-314.
  219. Lai, T.H., T.H. Yang, "On Distributed Snapshots", Information Processing Letters, vol. 25, 1987, pp. 153-158.
  220. Lamport, L., "Time, Clocks, and the orderings of events in a Distributed system", Communications of the ACM, vol. 21, no. 7, 1978, pp. 558-565.
  221. Bracha, G., S. Toueg, "Distributed Deadlock Detection", Distributed Computing, vol. 2, 1987.
  222. Chow, T.C.K., and Abraham, J.A.: "Load Balancing in Distributed Systems," IEEE Trans. On Software Engineering, vol. SE-8, pp. 401-412, July 1982.
  223. Howard, J.H., Kazar, M.J., Menees, S.G., Nichols, D.A., Satyanarayanan, M., Sidebotham, R.N., and West, M.J.: "Scale and Perfor- mance in a Distributed File System," ACM Trans. on Computer Systems, vol. 6. pp. 55-81, Feb. 1988.
  224. Artsy, Y., ed. Special Issue on Process Migration. Newsletter of the IEEE Computer Society Technical Committee on Operation Systems, Winter 1989.
  225. Artsy, Y., "Designing a Process Migration Facility: The Charlotte Experience." Computer September 1989.
  226. Barbosa, V. "Strategies for the Prevention of Communication Deadlock in Distributed Parallel Programs." IEEE Transactions on Software Engineering, November,1990.
  227. Douglas, F., and ousterhout, J. "Transparent Process Migration: Design Alternatives and the Sprite Implementation.' Software Practice and Experience, August 1991.
  228. Eager, D.; Lazowska, E.; and Zahnorjan, J. "Adaptive Load Sharing in Homogeneous Distributed Systems." IEEE Transactions on Software Engineering, May 1986.
  229. Eskicioglu, M. "Design Issues of Process Migration Facilities in Distributed Systems." Newsletter of the IEEE Computer Society Technical Committee on Operating Systems and Application Environments, Summer 1990.
  230. Lamport, L. "Time, Clocks and the Ordering of Events in a Distributed System." Communications of the ACM, July 1978.
  231. Raynal, M., and Helary, J. Synchronization and Control of Distributed Systems and Programs. New York: Wiley, 1990.
  232. Singh, H. Progressing to Distributed Multiprocessing. Upper Saddle River, NJ: Prentice Hall, 1999.
  233. Sinha, P. Distributed Operating Systems. Piscataway, NJ: IEEE Press, 1997.
  234. Smith, J. "A Survey of Process Migration Mechanisms." Operating Systems Review, July 1988.
  235. Tanenbaum, A., and Renesse, R. "Distributed Operating Systems." Computing Surveys, December 1985.
  236. Tray, B., and Ananda, A. "A Survey of Remote Procedure Calls." Operating Systems Review, July 1990.
  237. Mukesh Singhal, N.G. Shivaratri, Advanced Concepts in Operating Systems, Tata McGraw Hill, 2004.
  238. Hwang, K., F. Briggs, Multiprocessor Systems Architecture, McGraw-Hill, New York, 1984.
  239. Lazowska, E., M.Squillante, "Using Processor-Cache Affinity in shared-memory Multiprocessor Scheduling", Tech. Report, Dept. of computer science, University of WA, 1989.
  240. M.Squillante, "Issues in Shared-Multiprocessor Scheduling: A performance evaluation", Ph.D. dissertation, Dept. of Computer Science & Engg., Univ of Washington, WA, 1990.
  241. Li, K.: "Shared Virtual Memory on Loosely Coupled Multiprocessors." Ph.D. Thesis. Yale Univ., 1986.
  242. Chapin, S., and Maccabe, A., eds. "Multiprocessor Operating Systems: Harnessing the Power." Special issue of IEEE Concurrency, April-June 1997.
  243. Rashid, R. et al. "Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures." IEEE Transactions on Computers, August 1988.
  244. Tucker, A., and Gupta, A. "Process Control and Scheduling Issues for multiprogrammed Shared-Memory Multiprocessors." Proceedings, 12 th ACM Symposium on Operating System Principles, December 1989.
  245. Mukesh Singhal, N.G. Shivaratri, Advanced Concepts in Operating Systems, Tata McGraw Hill, 2004.
  246. Axford, T. Concurrent Programming: Fundamental Techniques for Real-Time and Parallel Software Design. New York: Wiley, 1988.
  247. Hong, J.; Tan, X.; and Towsley, D. "A Performance Analysis of Minimum Laxity and Earliest Deadline Scheduling in a Real-Time System." IEEE Transactions on Computers, December 1989.
  248. Liu, J. Real Time Systems. Upper Saddle River, NJ: Prentice Hall, 2000.
  249. Morgan, K. "The RTOS Difference." Byte, August 1992.
  250. Ramamritham, K., and Stankovic, J. "Scheduling Algorithms and Operating Systems Support for Real-Time Systems." Proceedings of the IEEE, January 1994.
  251. Sha, L; Rajkumar, R.; and Lehoczky, j, "Priority Inheritance Protocols: An Approach to Real-Time Synchronization." IEEE Transactions on Computers, September 1990.
  252. Sha,L.; Klein, M; and Goodenough, J. "Rate Monotonic Analysis for Real-Time Systems." In [TILB91]. Bibliography 663
  253. Sha, L.; Rajkumar, R; and Sathaye, S. "Generalized Rate-Monotonic Scheduling Theory: A Framework for Developing Real-Time Systems." Proceedings of the IEEE January 1994.
  254. Stankovic, J., et al. "Strategic Directions in Real-Time and Embedded Systems." ACM Computing Surveys, December 1996.
  255. Takada, H. "Real-time Operating System for Embedded Systems." In Imai, M. and Yoshida, N. (eds). Asia South-Pacific Design Automation Conference, 2001.
  256. TimeSys Corp. "Priority Inversion: Why You Care and What to Do about It? TimeSys White Paper, 2002. http://www.techonline.com/ community/ed_resource/tech_paper/21779.
  257. Warren, C. "Rate Monotonic Scheduling." IEEE Micro, June 1991. VxWorks Application Programmer's guide 6.2, Wind River Systems Inc. 2005.
  258. Paul Kohout, "Hardware Support for Real-time operating systems", Master's Thesis, Master of Science, 2002.
  259. Jim Collier, An Overview Tutorial of the VxWorks Real-Time Operating System, 2004.
  260. R. Dick, G. Lakshminarayana, A. Raghunathan, and N. Jha. "Power Analysis of Embedded Operating Systems." In Proceedings of the 37th Design Automation Conference, Los Angeles, CA, June 2000.
  261. Y. Li, M. Potkonjak, and W. Wolf. "Real-Time Operating Systems for Embedded Computing." In Proceedings of the 1997 International Conference on Computer Design (ICCD '97), Austin, TX, October 1997.
  262. David E. Simon, An Embedded Software Primer, Pearson Education, 2001.
  263. Sriram V. Iyer, Pankaj Gupta, Embedded Realtime Systems Programming, Tata McGraw Hill, 2006. Phillip. A. Laplante, Real-time Systems: Design and Analysis, PHI, 2002.
  264. Jane W.S. Liu, Real-time systems, Pearson Education, 2004.
  265. C.M. Krishna, Kang G. Shin, Real-Time Systems, McGraw Hill International Editions, 1997. Flash File systems, Intel White paper, 2006.
  266. Kaushik Velusamy, Shriram K.V., "Adapting Linux as Mobile operating system", Journal of Computer Science, 9(6): 740-748, 2013.
  267. P. Dharanya Devi, S. Poonguzhali, T. Sathiya, G.Yamini, P. Sujatha and V. Narasimhulu, "Survey on Multimedia Operating systems", International journal of computer science and emerging technologies (IJCSET), Vol. 1, Issue 2, 2010.
  268. Deepali Kayande, Urmila Shrawankar, "Priority Based Pre-emptive Task Scheduling for Android Operating System", International Journal of Computer Science and Telecommunications,Volume 2, Issue 7, October 2011.
  269. MA Wei-feng, WANG lia-hai, "Analysis of the Linux 2.6 kernel scheduler", International Conference on Computer Design and Appliations (ICCDA), 2010.
  270. XU Long, et. al, "An Improved Algorithm to Optimize the Access Time of Data Broadcast in Mobile Computing Environments", Second International Workshop on Education Technology and Computer Science, 2010.
  271. Sangchul Lee, Jae Wook Jeon, "Evaluating Performance of Android Platform Using Native C for Embedded Systems", International Conference on Control, Automation and Systems, 2010.
  272. Nasr addin Al-maweri, et.al, "Runtime CPU Scheduler Customization Framework for a flexible mobile operating system", Student Conference on Research and Development (SCOReD), 2009.
  273. Li Lo, et.al, "A Modified Interactive Oriented Scheduler for GUI-based Embedded Systems", 8th IEEE International Conference on Computer and Information Technology, 2009.
  274. C.S. Wong, et. al, "Fairness and Interactive Performance of O (1) and CFS Linux Kernel Schedulers", International Symposium on Information Technology, 2008. ITSim, 2008.
  275. Wang Chi, Zhou Huaibei, "A Modified O (1) Scheduling Algorithm for Real-Time Tasks", International Conference on Wireless Communications, Networking and Mobile Computing, 2006. WiCOM, 2009.
  276. Yan ZHAO, et. al, "Research on the Priority-based Soft Real-time Task Scheduling in TinyOS", International Conference on Information Technology and Computer Science, 2009.
  277. "Android.com", Available: http://www.android.com "Android SDK| Android Developers", http://developer.android.com/sdk/index.html.
  278. Greg Kroah-Hartman. "Android and the Linux kernel community" http://www.kroah.com/log/linux/android-kernel-problems.html. "Linux developer explains Android kernel code removal". http://news.zdnet.com/2100-9595_22-389733.html. "What is Android". Android Developers. http://developer.android.com/guide/basics/what-isandroid.html.
  279. Open Handset Alliance. "Industry Leaders Announce Open Platform for Mobile Devices" http://www.openhandsetalliance.com/ press_110507.html.
  280. Bort, Dave. "Android is now available as open source". Android Open Source Project. http://source.android.com/posts/opensource.
  281. Honan, Matthew. «Apple unveils iPhone». Macworld. http://www.macworld.com/article/54769/2007/01/iphone.html. Android architecture. http://www.slideshare.net/deepakshare/android-arch-presentation.
  282. An overview of iPhone OS architecture. http://thecoffeedesk.com/news/index.php/2009/05/17/iphone-architecture/.
  283. Bornstein. Dalvik vm internals, 2008 google i/o session, 01 2008. http://sites.google.com/site/io/dalvik-vm-internals.
  284. Brady, Anatomy & physiology of an android, 2008 google i/o, 2008. URL http://sites.google.com/site/io/anatomy--physiology-of- an-android.
  285. Winandy Davi, Sadeghi. Privilege escalation attacks on android, 2010. http://www.ei.rub.de/media/trust/veroeffentlichungen/2010/11/13/ DDSW2010_Privilege_Escalation_Attacks_on_Android.pdf.
  286. Enck, Understanding android security. IEEE S, JanuaryFebruary:50pp, 2009.
  287. Freyo, Android get signature by uid, 2010. URL http://www.xinotes.org/notes/note/1204/.
  288. Google. Android documentation -fundamentals, 2011. http://developer.android.com/guide/topics/fundamentals.html. Google. Android security, 2011. URL http://developer.android.com/guide/topics/security/security.html.
  289. David A Rusling. The Linux Kernel. 1999.
  290. Chin Felt Greenwood Wagner. Analyzing inter-application communication in android, 06 2001. www.cs.berkeley.edu/~afelt/ intentsecurity-mobisys.pdf.
  291. Android memory usage, 2011. URL http://elinux.org/Android_Memory_Usage.
  292. Goyal, P., Guo, X., and Vin, H.M.: "A Hierarchical CPU Scheduler for Multimedia Operating Systems," Proc. Second Symp. on Operating Systems Design and Implementation, USENIX, pp. 107-121, 1996.
  293. Mercer, C.W.: "Operating System Support for Multimedia Applications," Proc. Second Int'l Conf.on Multimedia, ACM, pp. 492-493, 1994.
  294. Nieh, J., and Lam, M.S.: "The Design, Implementation and Evaluation of SMART a Scheduler for Multimedia Applications," Proc. 16th Symp. on Operating Systems Principles, ACM, pp. 184-197, 1997.
  295. Reddy, A.L.N., and Wyllie, J.C: "I/O Issues in a Multimedia System," Computer, vol. 27, pp. 69-74, March 1994. Part VIII Shell Programming
  296. Kernighan, B.W., and Pike, R.: The UNIX Programming Environment, Upper Saddle River, NJ: Prentice Hall, 1984.
  297. Newham, C., and Rosenblatt, B.: Learning the Bash Shell, Sebastopol, CA: O'Reilly & Associates, 1998.
  298. Robbing A.: UNIX in a Nutshell: A Desktop Quick Reference for SVR4 and Solaris 7, Sebastopol, CA: O'Reilly & Associates, 1999.
  299. B.A. Forouzan, R.F. Gilbery, UNIX and Shell Programming, Cengage Learning, 2012. Yashavant Kanetkar, UNIX Shell programming, BPB Publications, 1996.
  300. B.M. Harwani, UNIX and Shell Programming, Oxford University Press, India, 2013.