Developers talk a lot about “immutability.” Outside the technical world, it usually means something negative: unmoving, inflexible, and entrenched. However, in the technical field, these features ...
A fundamental overview of operating systems (OSes) with an emphasis on practice. Topics covered include: OS structure, OS models, OS abstractions, concurrency sources, concurrency challenges, ...
This course has four purposes: (1) to learn about the hierarchy of abstractions and implementations that comprise a modern computer system; (2) to demystify the machine and the tools that we use to ...
This course provides an overview of System Programming for the Linux operating system, or software which is interfacing directly with the Linux Kernel and C library. The basic components of a Linux ...
While Microsoft and Apple don’t release the source code for their operating systems, a good estimate is that it takes around 50 million lines of code to run these software behemoths. The Linux kernel ...
This fifth lesson on RTOS finally addresses the real-time aspect of the “Real-Time Operating System” name. Specifically, in the video lesson 26, you add a preemptive, priority-based scheduler to the ...
Programming Systems & Software Engineering research at Drexel University's College of Computing & Informatics (CCI) focuses on improving the design, construction, and maintenance of software systems, ...
In this lesson, you will learn the main concepts behind event-driven programming, which, after object-oriented programming, is another fundamental stepping stone in understanding modern embedded ...
What if you could strip away the layers of abstraction that operating systems impose and interact directly with your computer’s hardware? Imagine crafting a program where every instruction is executed ...