Introduction to Operating Systems | SUNY University at Buffalo

SUNY University

Explore the concepts and design principles of modern operating systems and implement core OS functionality in this challenging yet rewarding course.

University CoursesCLinuxOperating System

Introduction

Operating systems are the masterworks of the programming world: beautiful and sophisticated solutions to difficult design problems that have emerged from years of effort by thousands of skilled programmers. This course gives you a chance to study the concepts and design principles of modern operating systems and implement core operating system functionality in a simplified development environment.

screenshot

Highlights

  • Understand the abstractions supported by modern operating systems
  • Describe how operating systems safely and efficiently multiplex hardware resources
  • Analyze the designs and features of historical, current, and emerging operating systems
  • Design and implement working systems software
  • Identify and correct bugs in complex, multithreaded systems
  • Formulate and test performance hypotheses

Recommendation

This course is designed to help you become a better software engineer and programmer by studying the elegance and maturity of operating system design. It provides a balance of conceptual and programming tracks, allowing you to develop both theoretical knowledge and practical skills in operating system development. The course is challenging but provides ample support and resources to help you succeed.

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

Introduction to Linux | Full Linux Course for Beginners

77
Video CoursesCommand LineLinux
Comprehensive Linux course for beginners, covering GUI navigation, powerful command-line tools, and major Linux distributions.

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.

Linux IP Stacks Commentary

26
Technical TutorialsLinux
Detailed descriptions of the Linux TCP/IP stack code, with code fragments, IETF RFC links, and routing/firewall capabilities. Continuously updated for Linux kernel changes.

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.

Making Servers Work: A Practical Guide to Linux System Administration

10
Technical TutorialsLinux
Comprehensive book on Linux system administration, covering server management, security, networking, and troubleshooting. Suitable for both new and experienced system administrators.