Tag

Operating Systems

0 views collected around this technical thread.

Refining Core Development Skills
Refining Core Development Skills
May 27, 2025 · Fundamentals

Understanding NUMA in Linux: Hardware Principles, ACPI Tables, and Kernel Initialization

This article explains the hardware basis of NUMA, how Linux reads ACPI SRAT and SLIT tables to discover CPU‑memory topology, the kernel functions that initialize NUMA structures, and how the memblock allocator incorporates this information to enable performance‑optimizing tools like numactl.

ACPILinux kernelMemory Management
0 likes · 13 min read
Understanding NUMA in Linux: Hardware Principles, ACPI Tables, and Kernel Initialization
Deepin Linux
Deepin Linux
May 5, 2025 · Fundamentals

An Overview of CPU Scheduling Algorithms and Their Practical Applications

CPU scheduling, a core component of operating systems, determines how processes share CPU resources, and this article explains preemptive vs non‑preemptive scheduling, key evaluation metrics, classic algorithms such as FCFS, SJF, RR, priority, multilevel queues, and guidance on selecting suitable algorithms for various system scenarios.

CPU schedulingOperating SystemsPerformance Metrics
0 likes · 33 min read
An Overview of CPU Scheduling Algorithms and Their Practical Applications
IT Services Circle
IT Services Circle
Apr 30, 2025 · Fundamentals

Evolution of Process Scheduling: From FCFS to Preemptive Multitasking

The article traces the development of operating‑system process scheduling—from the naïve first‑come‑first‑served approach, through cooperative multitasking with a yield() system call, to timer‑driven preemptive round‑robin and priority schemes—highlighting each method’s strengths and shortcomings.

FCFSOperating Systemscooperative multitasking
0 likes · 6 min read
Evolution of Process Scheduling: From FCFS to Preemptive Multitasking
Java Tech Enthusiast
Java Tech Enthusiast
Apr 29, 2025 · Fundamentals

Evolution of Memory Management: Fixed Partition, Dynamic Partition, and Overlay Techniques

Early computers used fixed‑size partitions that wasted space, then dynamic partitions that improved utilization but caused fragmentation, and finally overlay techniques that let programs exceed physical RAM by swapping modules, each step exposing limitations that ultimately drove the creation of virtual memory systems.

Memory ManagementOperating SystemsVirtual Memory
0 likes · 6 min read
Evolution of Memory Management: Fixed Partition, Dynamic Partition, and Overlay Techniques
IT Services Circle
IT Services Circle
Mar 30, 2025 · Fundamentals

From Polling to Interrupts: Understanding Early Operating System Mechanisms

The article explains how early batch-processing systems relied on inefficient polling of slow I/O devices, describes the inspiration from IBM 704's overflow flag, and details the invention and implementation of hardware and software interrupts, including interrupt types, vector tables, and handler functions, to enable efficient CPU‑device interaction.

CPUException HandlingHardware
0 likes · 7 min read
From Polling to Interrupts: Understanding Early Operating System Mechanisms
Java Tech Enthusiast
Java Tech Enthusiast
Mar 26, 2025 · Fundamentals

Understanding PageCache: The Secret Behind Faster File Access

PageCache is an operating‑system mechanism that uses physical memory to cache disk blocks, dynamically resizing with available RAM and employing LRU replacement and read‑ahead, turning slow storage accesses into fast memory reads, yielding up to twenty‑fold speed gains for tasks such as compilation, video editing, and database operations.

File I/OLinuxMemory Management
0 likes · 6 min read
Understanding PageCache: The Secret Behind Faster File Access
Refining Core Development Skills
Refining Core Development Skills
Feb 19, 2025 · Operations

Linux Kernel Memory Detection via E820 Mechanism

This article explains how the Linux kernel detects physical memory during boot by leveraging the E820 mechanism, where firmware reports memory ranges via interrupt 15H, enabling the kernel to map usable memory addresses for subsequent allocation.

E820Linux kernelMemory Management
0 likes · 8 min read
Linux Kernel Memory Detection via E820 Mechanism
IT Services Circle
IT Services Circle
Feb 14, 2025 · Cloud Computing

David Cutler: From VMS to Windows NT and Azure – The Story of a Legendary OS Engineer

The article chronicles David Cutler's remarkable career, detailing his creation of the VMS operating system for DEC's VAX, his leadership in developing Windows NT at Microsoft, and his pivotal role in designing the hypervisor for Windows Azure, illustrating how his engineering brilliance shaped modern computing across mainframes, PCs, and the cloud.

AzureDavid CutlerOperating Systems
0 likes · 10 min read
David Cutler: From VMS to Windows NT and Azure – The Story of a Legendary OS Engineer
Java Tech Enthusiast
Java Tech Enthusiast
Jan 31, 2025 · Fundamentals

Why Most Operating Systems Are Written in C

Most operating systems are written in C because its simple, portable syntax, minimal runtime, and direct memory and hardware access let developers write bare‑metal kernels that manage resources efficiently, making C the preferred high‑level language for system programming despite other languages being better for applications.

C languageHardwareOperating Systems
0 likes · 5 min read
Why Most Operating Systems Are Written in C
macrozheng
macrozheng
Jan 10, 2025 · Fundamentals

Master Core Tech: From OS Memory to Redis, MySQL, Docker & More

This article combines a look at Tencent Cloud Zhiy developer salaries and interview insights with in‑depth explanations of OS memory allocation, process vs thread vs coroutine, DNS resolution, MySQL indexing and locking, Redis speed factors, Kafka’s high throughput design, and Docker’s container architecture, plus resource links.

Distributed SystemsOperating Systemsbackend development
0 likes · 18 min read
Master Core Tech: From OS Memory to Redis, MySQL, Docker & More
JD Tech Talk
JD Tech Talk
Jan 6, 2025 · Fundamentals

Understanding IO Models: Blocking, Non‑Blocking, Multiplexing, Signal‑Driven and Asynchronous IO

This article explains the fundamentals of input/output (IO) in operating systems, covering the basic IO concept, the role of the OS, the two‑phase IO call process, and detailed descriptions of blocking, non‑blocking, multiplexed (select, poll, epoll), signal‑driven and asynchronous IO models with example code.

IOMultiplexingNon‑Blocking IO
0 likes · 13 min read
Understanding IO Models: Blocking, Non‑Blocking, Multiplexing, Signal‑Driven and Asynchronous IO
Java Tech Enthusiast
Java Tech Enthusiast
Dec 31, 2024 · Backend Development

Tencent Backend Interview Experience and Technical Knowledge Summary

The article details Tencent’s updated 15‑month compensation packages for 2025 backend roles, outlines a one‑hour interview covering OS process/thread concepts, sorting algorithms, MySQL storage engines and indexing, Redis data structures, Java collections, and compares RocketMQ with Kafka for reliable messaging.

Backend DevelopmentInterview PreparationMessage Queues
0 likes · 27 min read
Tencent Backend Interview Experience and Technical Knowledge Summary
Java Tech Enthusiast
Java Tech Enthusiast
Dec 25, 2024 · Fundamentals

The Early Linux vs. Minix Debate: A Historical Overview

In the early 1990s Linus Torvalds announced a free, Minix‑inspired monolithic kernel for i386 machines, sparking a heated debate with Minix creator Andrew Tanenbaum who championed microkernels, yet despite Tanenbaum’s criticism the monolithic design persisted and rapidly evolved into today’s dominant Linux operating system.

HistoryLinuxMinix
0 likes · 7 min read
The Early Linux vs. Minix Debate: A Historical Overview
Java Tech Enthusiast
Java Tech Enthusiast
Sep 12, 2024 · Fundamentals

How Operating Systems Boot Up

When a computer powers on, the CPU first runs firmware stored in ROM (BIOS or UEFI) that performs hardware checks, locates the boot device, loads the 512‑byte MBR containing a first‑stage bootloader, which then loads a more capable second‑stage loader that finally loads the operating system kernel into memory, after which the OS completes its own initialization and begins handling user programs.

BIOSComputer ScienceMBR
0 likes · 9 min read
How Operating Systems Boot Up
IT Services Circle
IT Services Circle
Aug 30, 2024 · Backend Development

Technical Interview Q&A: C++ vs Go, Thread Communication, Goroutine, TCP Handshake, SQL, and More

This article compiles a series of technical interview questions and answers covering C++ and Go language differences, thread communication methods on Linux and Windows, stack versus heap memory, orphan processes, read‑write locks, Go goroutine concurrency, TCP three‑way handshake, and a sample SQL query for gender‑based grouping.

C++ConcurrencyGo
0 likes · 12 min read
Technical Interview Q&A: C++ vs Go, Thread Communication, Goroutine, TCP Handshake, SQL, and More
Deepin Linux
Deepin Linux
Aug 10, 2024 · Fundamentals

Comprehensive C/C++ Interview Question Collection Covering Language, Data Structures, OS, Networking, Databases, and More

This article compiles over a thousand common C/C++ interview questions spanning language fundamentals, data structures, algorithms, system programming, networking, databases, design patterns, RPC, and audio‑video development, providing a thorough study guide for backend and systems engineers.

AlgorithmsC++Interview Questions
0 likes · 19 min read
Comprehensive C/C++ Interview Question Collection Covering Language, Data Structures, OS, Networking, Databases, and More
DevOps Operations Practice
DevOps Operations Practice
Jul 25, 2024 · Operations

Six Lesser‑Known Linux Distributions and Their Key Features

This article introduces six relatively obscure yet powerful Linux distributions—Slackware, Arch Linux, Manjaro, openSUSE, Gentoo, and Deepin—detailing their origins, design philosophies, and main features such as stability, manual configuration, rolling updates, package management, and user‑friendly interfaces.

LinuxOperating SystemsSystem Administration
0 likes · 7 min read
Six Lesser‑Known Linux Distributions and Their Key Features
Deepin Linux
Deepin Linux
Jul 15, 2024 · Fundamentals

Understanding Memory Paging and Page Table Structures in x86-64

Memory paging, a core memory‑management technique used in modern operating systems and x86‑64 processors, divides physical memory into fixed‑size pages, enabling virtual memory, isolation, sharing, lazy loading, and protection, while the article explains page tables, hierarchical paging modes, and provides assembly code for enabling paging.

Operating SystemsPage TablesVirtual Memory
0 likes · 34 min read
Understanding Memory Paging and Page Table Structures in x86-64
IT Services Circle
IT Services Circle
Jun 15, 2024 · Fundamentals

Understanding the History and Usage of Forward Slash (/) and Backslash (\)

This article explains the historical reasons why the forward slash (/) and backslash (\) were chosen as directory separators in different operating systems, their roles in URLs, regular expressions, arithmetic and escape sequences, and practical tips for using them correctly in code.

Operating SystemsURLbackslash
0 likes · 5 min read
Understanding the History and Usage of Forward Slash (/) and Backslash (\)