Operating System Process Control Block
An Operating System Process is a program in execution. It includes the value in the program counter and in the processors registers. A process also includes a stack, data section, and a heap. Although two processes may be associated with the same program, they are considered two separate execution sequences. More ...
Operating System Memory Paging Hardware Support
Paging is a memory management scheme that involves breaking physical memory into fixed-sized blocks and breaking logical memory into blocks of the same size called pages. When a process is to be executed, its pages are loaded into any available memory blocks. More ...
Oscilloscope Required for Serious Digital Electronics Work
The oscilloscope is an instrument that displays digital signals on a line graph with time on the horizontal axis and voltage on the vertical axis. It will be difficult to do digital logic design without the use of an oscilloscope. More ...
Simplified Windows Architecture Overview
A simplified overview of the Windows operating system architecture divides it into user-mode and kernel-mode components. More ...
Introduction to Microprocessor Programming
Assembly language involves using instructions that are mnemonics called opcodes, along with values and/or addresses in hexadecimal notation. To make learning as easy as possible, we'll first learn how to program a simple microprocessor, the 6502. 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 ...
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 ...
Challenges of Programming Multicore Systems
Operating system designers must write scheduling algorithms that use multiple processing cores and application programmers, mustmodify existing programs and design new programs that are multithreaded. 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 ...
Priority 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 priority CPU scheduling. More ...
Operating System Memory Protection in a Paged Environment
Memory protection in a paged environment is accomplished by protection bits associated with each frame. For example read-write, read-only or execute-only bit, and valid-invalid bit. Normally, these bits are kept in the page table. More ...
Microcontroller Architectures
The fundamental microcontroller architectures are Von Neumann and Harvard. More ...