Operating Systems | Systems Programming | UC Davis

UC Davis

Comprehensive course on operating systems and system programming concepts, with detailed lecture materials and experienced instructor. Ideal for software engineering and computer systems careers.

University CoursesCOperating SystemUnix

Introduction

ECS 150 is a course on operating systems and system programming taught at UC Davis. The course covers a wide range of topics, including OS overview, process management, synchronization, storage, and virtual memory.

Highlights

  • Comprehensive coverage of operating systems and system programming concepts
  • Detailed lecture materials and discussions available online under a CC BY-NC-SA 4.0 license
  • Taught by an experienced instructor who has taught the course over 10 times
  • Includes tutorials on Makefiles, GDB, printf() internals, and C macros

Recommendation

This course is recommended for students interested in learning about the fundamental concepts and principles of operating systems and system programming. It provides a solid foundation for those pursuing careers in software engineering, computer systems, or related fields.

How GetVM Works

Learn by Doing from Your Browser Sidebar

Access from Browser Sidebar

Access from Browser Sidebar

Simply install the browser extension and click to launch GetVM directly from your sidebar.

Select Your Playground

Select Your Playground

Choose your OS, IDE, or app from our playground library and launch it instantly.

Learn and Practice Side-by-Side

Learn and Practice Side-by-Side

Practice within the VM while following tutorials or videos side-by-side. Save your work with Pro for easy continuity.

Explore Similar Hands-on Tutorials

The Great Tree List Recursion Problem

9
Technical TutorialsAlgorithmCJava
Explore the intricacies of data structures, recursion, and programming with The Great Tree List Recursion Problem, a comprehensive guide to binary trees and circular doubly linked lists.

Compiler Design in C (1990)

1
Technical TutorialsCCompiler
Comprehensive guide to understanding and implementing compilers using the C programming language. Covers fundamental concepts, syntax analysis, code generation, and optimization.

Compiler Design: Theory, Tools, and Examples, C/C++ Edition

2
Technical TutorialsCC++Compiler
Comprehensive course on compiler design, covering theory, tools, and practical C/C++ examples. Explore lexical analysis, syntax analysis, and code generation.

Pointers And Memory | Computer Programming, Memory Management

16
Technical TutorialsCComputer ScienceProgramming
Comprehensive guide to understanding pointers, memory allocation, and optimization techniques for computer science students and software developers.

Beejs Guide to Network Programming - Using Internet Sockets

12
Technical TutorialsCC++NetworkingProgramming
Comprehensive guide to network programming, focusing on the use of internet sockets. Written by experienced author Brian "Beej Jorgensen" Hall, offering in-depth coverage and practical examples.

How to write a simple operating system in assembly language

28
Technical TutorialsAssembly LanguageOperating System
Explore the fundamentals of operating system development and computer science principles with this hands-on guide to writing a simple OS in assembly language.

Operating Systems and Middleware

21
Technical TutorialsOperating System
Dive into the fundamentals of operating systems and middleware with this in-depth course, covering core concepts and providing valuable resources.

Operating Systems: From 0 to 1

6
Technical TutorialsComputer ScienceOperating System
Comprehensive guide to understanding the fundamentals of operating systems and system development. Suitable for computer science enthusiasts and developers.

Practical File System Design: The Be File System

18
Technical TutorialsOperating System
Comprehensive guide to file system design and implementation, focusing on the Be File System. Covers architecture, data structures, and optimization techniques.