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.
- Describe the concepts of user convenience, efficient use of resources, and the application of security and protection within an operating system.
- Explain the notion of effective utilization.
- Recognize the fundamental tasks involved in management of programs and resources.
- Identify the hardware features present in a computer system that are relevant for operation and performance of an OS.
- Discuss how the OS uses hardware features to control execution of user programs and perform I/O operations in them.
- Describe the fundamental principles of an operating system.
- 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.
- Explain the three methods used to structure an operating system.
- Identify how an application creates processes through system calls.
- Define concurrency and parallelism and how they differ.
- Explain process state.
- Discuss the notion of threads and their benefits.
- Delineate the concepts of process scheduling achieved through data sharing and process coordination.
- Define mutual exclusion and indivisible operations.
- Review the synchronization requirements of some classic problems discuss how they can be met.
- Explain process scheduling.
- Review the fundamental techniques of priority-based scheduling, reordering of requests, and variations of time slice.
- Compare different scheduling policies and their properties.
- Define deadlocks and how they can occur.
- Review methods for preventing the occurrence of deadlocks.
- Research methods such deadlock prevention and deadlock avoidance.
- Use message passing as a means to facilitate inter-process communications.
- Discuss multiprocessor systems and methods they employ for synchronization and scheduling.
- Review the fundamentals of memory management.
- Explain the concepts of memory protection, efficient use of memory through memory reuse, and memory fragmentation.
- Contrast contiguous and non-contiguous memory allocation.
- Describe virtual memory implementation using paging.
- Discuss how a programmer views files and file systems.
- Review fundamental file organizations, directory structures, operations on files and directories, and file sharing semantics.
- Discuss the concepts of fault tolerance and data recovery.
- Identify the physical organization used in file systems.
- Delineate how to implement security and protection to ensure authorized file access.
- Explain distributed systems and the components and features that support computational speedup, reliability, and performance that these systems provide.
- Describe the notions of time and state in traditional operating systems and how they are modified and enhanced to support distributed systems.
- Define distributed control algorithms.
- Utilize algorithms for performing five control functions in a distributed OS - mutual exclusion, deadlock handling, leader election, scheduling, and termination detection.
- Discuss the concepts of fault and recovery and study their application in a distributed environment.
- Utilize resiliency as a method for minimizing the impact of a fault.
- Review the concepts of file systems as they apply to distributed file systems.
- Compare and contrast the different methods used to organize access to files and directories located in various nodes of a system.
- Explain the concepts of file caching and stateless file servers.
- 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.