Operating System Process Scheduling Queues
The objective of multiprogramming is to have some process running at all times, to maximize CPU utilization. To meet these objectives, the process scheduler selects a process from a queue for execution on the CPU. More ...
Load Balancing Multiple CPUs in Symmetric Multiprocessing
On Symmetric Multiprocessing (SMP) systems it is important to keep the workload balanced among all processors. There are two approaches to accomplish this, push migration and pull migration. More ...
The Microcontroller Interrupt System
Events related to peripheral interfaces are asynchronous to the program running on the CPU. The interrupt mechanism allows an external event to temporarily put the normal execution of the microcontroller on hold and force the execution of a specific subroutine. More ...
Dynamic Loading of Program Routines and Dynamically linked libraries (DLLs)
In order to execute, it is not necessary for an entire program to be in physical memory. With dynamic loading, a routine is not loaded until it is called. More ...
Electronic Circuits
There are five types of circuits; open, short, series, parallel, and series-parallel. Using Ohm's law, along with the reciprocal formula to calculate the equivalent resistance of resistors in parallel, you can calculate the voltage or current in any part of a circuit. More ...
Expanding the Resources of Microcontrollers
In some cases it is possible that the internal resources of a microcontroller are insufficient. The solution to these situations is to add external components by creating an expanded microcontroller structure. More ...
Getting started with Raspberry Pi
So you have a Raspberry Pi, or you're thinking of getting one, and you want to know how to get started and how to become a master user of one. More ...
Basic Computer Architecture
Computers today, even that PC on your desk are unbelievably complex. You can't understand computers without an understanding of the basics. In this article I explain basic computer architecture in simple, basic terms. More ...
Multiuser Operating System Functions
Some operating system functions like resource allocation, accounting, protection and security exist not for helping the user, but rather for ensuring the efficient operation of the system itself. More ...
Real-Time CPU Scheduling
In a real-time systems, is one whose operation depends on timing. A task must be serviced within a specific time interval. The tasks and their execution times must all be known. More ...
Binary Number Representation and Binary Math
Computers perform all of their amazing work with only two voltage levels, one representing binary 0, the other representing binary 1. This article describes how to perform binary addition and subtraction. More ...
Microcontroller's Parallel I/O System
The most common way for microcontrollers to interact with the outside world is the The digital I/O lines. More ...