Operating Systems 1 course helps students to understand operating systems in a practical and easy way, focusing in the operating systems point of study of extended machine and process management. In this way we cover different classic theory to build operating systems or develop distribute systems that match the emerging requiriments of the tech industry. In the same way the student is exposed to new open source technologies like the container, orchestrator and a DevOps mindset.
Understand the structure of the operating system using the point of study view of Extend Machine and Management process to apply that knowledge, to tune up build operating systems, and create solutions that take advange of concurrency and parallel processing.
- Understand and apply virtualization and cloud computing to build solutions.
- Apply learned processes theory for monitoring servers and do intelligent process management
- Develop systems using concurrency and parallelism to solve real high concurrency problems, like a social network.
- Evaluate different open source technologies to build high availability systems that support high concurrency levels.
- Develop systems implementing containers, orchestrators and some level of observability to simulate the new requirements of tech industry.
- Exam 1: Extend Machine, 20pts
- Exam 2: Processes, Concurrency and Parallelism, 20pts
- Assesments: 10pts
- Laboratory: 25pts
- Final Exam: Concurrency Problems and Modern Applications: 25pts
According to San Carlos de Guatemala University grading policy, the zone is distributed in 75 points, to win the course the students needs a minimal score of 61 points and needs a minimal zone of 36 points.
Unit 1
- Study point of views about operating systems
- Linux, Open source and free software
- History: Minix and others operating systems
- PC startup sequence, kernel, service levels and bootloaders
- Kernel Types: Monolytic, Microkernel, hybrid, modular,
- Unikernel, Exokernel
- Extended Machine study point
- Virtualization history
- Virtualization Types
- Hypervisors
- Cloud Computing
- Cloud Services
- Cloud classification
- Operating systems level virtualization
- Docker, containers and orchestrator
- Kubernetes
- Cloud Native
- Cloud Computing and Providers
- Serverless
Unit 2
- Process concept
- Process states diagram
- Process Control Block(PCB)
- Process memory segmentations
- Process management
- Mutual Exclution
- Deadlock
- Inter Process Communication(Semaphores, shared memory, queues and sockets)
- Threads and tasks
- Concurrency and Parallelism
- Scheduler disciplines
- Corutines
- Dekker algorithms
- Producer-consumer
- Parallel programming languages
UNIT 3
- Concurrency problems
- Load balancing algoritms
- Map Reduce and NoSQL
- Raft Algorithm
- Distribute systems
- Containers orquestration
- Process Monitoring
- Observability, Telemetry and Monitoring
- Service Meshes
- IO Blocking
- Brokers
- Streaming
- Websockets
- Social Network Architectures
Unit 1: Assigments
- Forum about Rush Code The Movie
- Linux installation and kernel tunning
- Create a first Cloud Server Using Google Cloud
- KVM Installation
- Docker hello world app
- Create a distroless container
Unit 2: Assigments
- Producer-consumer using python and golang
- Corutines using Go
- Workpool programming using Python
- Websockets using Go
- Containerizing Golang programs
Unit 3: Assigments
- Operating Systems (William Stallings)
- Contenido Sistemas Operativos de Universidad Rudgers, Paul Krzyzanowski, New Jersey