Contact Admissions: (866) 967-7046

email: onlineprograms@lewisu.edu

Computer science students in a meeting

CPSC-51500 Operating Systems and Distributed Systems

Credits: 
3
Prerequisites: 
CPSC-50000

This course will present the concepts and principles of multiple user operating systems: memory, CPU, I/O device allocation, scheduling and security, memory hierarchies, performance evaluation, analytic models, simulation, concurrent programming and parallel processors. It will also discuss distributed computing principles, theory, implementations and security; models of distributed systems, interprocess communications, distributed objects and remote invocation, coordination and agreement, distributed transactions, interoperability and replication; component frameworks and middleware such as CORBA and DCE. Security problems in distributed application environments will be analyzed and solutions will be discussed.

Learning Objectives:

  1. Describe the concepts of user convenience, efficient use of resources, and the application of security and protection within an operating system.
  2. Explain the notion of effective utilization.
  3. Recognize the fundamental tasks involved in management of programs and resources.
  4. Identify the hardware features present in a computer system that are relevant for operation and performance of an OS.
  5. Discuss how the OS uses hardware features to control execution of user programs and perform I/O operations in them.
  6. Describe the fundamental principles of an operating system.
  7. Discuss the five classes of operating systems in detail and be able to detail the principle concepts and techniques they use to meet their goals.
  8. Explain the three methods used to structure an operating system.
  9. Identify how an application creates processes through system calls.
  10. Define concurrency and parallelism and how they differ.
  11. Explain process state.
  12. Discuss the notion of threads and their benefits.
  13. Delineate the concepts of process scheduling achieved through data sharing and process coordination.
  14. Define mutual exclusion and indivisible operations.
  15. Review the synchronization requirements of some classic problems discuss how they can be met.
  16. Explain process scheduling.
  17. Review the fundamental techniques of priority-based scheduling, reordering of requests, and variations of time slice.
  18. Compare different scheduling policies and their properties.
  19. Define deadlocks and how they can occur.
  20. Review methods for preventing the occurrence of deadlocks.
  21. Research methods such deadlock prevention and deadlock avoidance.
  22. Use message passing as a means to facilitate inter-process communications.
  23. Discuss multiprocessor systems and methods they employ for synchronization and scheduling.
  24. Review the fundamentals of memory management.
  25. Explain the concepts of memory protection, efficient use of memory through memory reuse, and memory fragmentation.
  26. Contrast contiguous and non-contiguous memory allocation.
  27. Describe virtual memory implementation using paging.
  28. Discuss how a programmer views files and file systems.
  29. Review fundamental file organizations, directory structures, operations on files and directories, and file sharing semantics.
  30. Discuss the concepts of fault tolerance and data recovery.
  31. Identify the physical organization used in file systems.
  32. Delineate how to implement security and protection to ensure authorized file access.
  33. Explain distributed systems and the components and features that support computational speedup, reliability, and performance that these systems provide.
  34. Describe the notions of time and state in traditional operating systems and how they are modified and enhanced to support distributed systems.
  35. Define distributed control algorithms.
  36. Utilize algorithms for performing five control functions in a distributed OS - mutual exclusion, deadlock handling, leader election, scheduling, and termination detection.
  37. Discuss the concepts of fault and recovery and study their application in a distributed environment.
  38. Utilize resiliency as a method for minimizing the impact of a fault.
  39. Review the concepts of file systems as they apply to distributed file systems.
  40. Compare and contrast the different methods used to organize access to files and directories located in various nodes of a system.
  41. Explain the concepts of file caching and stateless file servers.
  42. Discuss authentication and message security measures used in distributed operating systems to thwart attacks.

YOUR OPPORTUNITY: You will learn how modern operating systems manage processes so that the underlying hardware can tend to all requested tasks in a timely manner. This will help you understand the operations of this rather fertile attack space for hackers so that you have a better opportunity to spurn their efforts.

Take the Next Step

Learn more about Lewis University's online programs. Call (866) 967-7046 to speak with a Graduate Admissions Counselor or click here to request more information.