Introduction to Computer System Main Memory Operation
The CPU can be shared by a set of processes. Using CPU scheduling, we can improve the utilization of the CPU and the speed of the computer's response. To realize this increase in performance, multiple processes must be kept in memory. More ...
Basic Computer Architecture
Basic computer architecture refers to the structure of a computer system and comprises its hardware, firmware, and software. Hardware consists of the physical components in computer architecture. The main hardware components of the computer architecture include the CPU, memory, and bus. More ...
Using The I2C Bus
The I2C bus is used for communications between individual integrated circuits located on the same PCB. The I2C protocol supports multi-master, multi-slave communication, which means you can add a lot of functionality to your design. 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 ...
Shortest-Job-First CPU Scheduling Algorithm
CPU Scheduling deals with the problem of deciding which of the processes in the ready queue is to be alocated the CPU. There are many different CPU scheduling algorithms. In this article we describe shortest-job-first scheduling. More ...
Multi-Processor Scheduling
Here, we discuss several concerns in multiprocessor scheduling in the context of Multicore, Multithreaded core, NUMA (Non-uniform memory access), and Heterogeneous multiprocessing architectures. More ...
Virtual Memory and Memory Paging
In the early days of computers, memory chips were small capacity, scarce, and expensive. Because of this a memory management scheme called paging was invented. More ...
Operating System Process Management
A program is not a process. A program is a file containing a list of instructions stored on disk. A process is an active entity with a program counter specifying the next instruction to execute and a set of resources. A program becomes a process when an executable file is loaded into memory. More ...
Learn Assembly Language Programming on Raspberry Pi 400
One of the easiest ways to learn assembly language programming is on the Raspberry Pi 400. The Raspberry Pi 400 is a complete personal computer built into a compact keyboard. More ...
Operating System Memory Page Sharing
In a paged environment sharing of memory among processes provides numerous benefits including sharing non-self-modifying reentrant code and interprocess communication. More ...
Intel's Dual-Core Core i3 Processor
Core i3 is an entry-level 2-core processor using the 32nm Westmere micro-architecture. With a Thermal Design Power (TDP) of 73 watts, the i3-530 is a cool-running chip that doesn't gobble loads of electricity, so those looking for a power-efficient, quiet machine will be happy with it. More ...
Introduction to the Raspberry Pi
The Raspberry Pi is a tiny bare-bones computer motherboard. You can easily make it into a Linux PC by connecting your own keyboard, mouse, and display. More ...