CSCD340 — Operating Systems
Major concepts in OS design: memory management, protection mechanisms, I/O management, CPU scheduling, process management, and file systems.
Learning Objectives & Matches
Analyze operating system architecture, kernel design, and system components
Implement and analyze CPU scheduling algorithms for process management
Develop load-balancing processes to eliminate down time for backup processes.
Assign or schedule tasks to meet work priorities and goals.
Monitor program performance to ensure efficient and problem-free operations.
Direct the analysis, development, and operation of complete computer systems.
Prepare detailed workflow charts and diagrams that describe input, output, and logical operation, and convert them into a series of instructions coded in a computer language.
Analyze information processing or computation needs and plan and design computer systems, using techniques such as structured analysis, data modeling, and information engineering.
Develop or implement data analysis algorithms.
Define the goals of the system and devise flow charts and diagrams describing logical operational steps of programs.
Estimate costs for system or component implementation and operation.
Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs.
Manage memory allocation, virtual memory, and page replacement algorithms
Manage user access to systems and equipment through account management and password administration.
Design and implement file systems including directory structures and storage management
Monitor use of data files and regulate access to safeguard information in computer files.
Develop plans to safeguard computer files against accidental or unauthorized modification, destruction, or disclosure and to meet emergency data processing needs.
Oversee development of plans to safeguard computer files against accidental or unauthorized modification, destruction, or disclosure or to meet emergency data processing needs.
Plan, coordinate, and implement security measures to safeguard information in computer files against accidental or unauthorized damage, modification or disclosure.
Perform file signature analysis to verify files on storage media or discover potential hidden files.
Design database applications, such as interfaces, data transfer mechanisms, global temporary tables, data partitions, and function-based indexes to enable efficient access of the generic database structure.
Administer document and system access rights and revision control to ensure security of system and integrity of master documents.
Develop and document database architectures.
Perform forensic investigations of operating or file systems.
Document design specifications, installation instructions, and other system-related information.
Develop concurrent programs using threads, synchronization primitives, and inter-process communication