Operating System

Architecture and core mechanisms of Operating Systems.

Jul 28, 202614 min2953 words

Operating System

Architecture of Operating System.

Jul 27, 20265 min1042 words

Computer Network: Some Topics

Architecture of Computer Network.

Jul 23, 20265 min1042 wordsUpdated Jul 24, 2026

Data Structure: Mathematical Perspective

Stack & Catalan Number String Tree For a tree of $N$ nodes and $n_d$ nodes of degree $d$, it holds that $$N = \sum^{D}_{d=0}n_d=\sum^D_{d=0} n_d d+1 = E+1,$$ where $E$ is the number of edges and $D$ is the maximum degree of the tree. Then the number of leaves $n_0$ is given by $$n_0 = 1 + \sum^D_{d=1} n_d(d-1),$$ and in a forest, the number of trees $T$ is given by ...

Jul 22, 20261 min76 words

Package Management: Introduction

A package manager automates the lifecycle of software dependencies: fetch, install, upgrade, configure, and remove. At scale, it answers the question: Given a set of packages, each with version constraints on its own dependencies, does there exist a consistent assignment of versions such that every constraint is satisfied? This is, at heart, a constraint-satisfaction problem — and different package managers attack it with different algorithms, trade-offs, and scopes of responsibility. This article surveys the landscape, unpacks the resolution mechanisms, and provides a decision framework for choosing the right tool. ...

Jul 21, 202610 min2062 words

Virtual Environment: Practical Guide(To be Continued)

A virtual environment is an isolated, self-contained workspace that decouples a project’s dependencies, runtime, and configuration from the host system and from other projects. The core tension it resolves is: Project A and Project B may require different versions of the same dependency, but the host OS allows only one version to be installed globally. Different tools address this at different layers of the stack: Docker at the OS/kernel level, Conda at the userland binary level, uv venv at the Python interpreter level. This article will introduce each tool with their design philosophy, logical structure, implementation mechanism, and practical usage examples. It will also provide a comparative summary, debugging strategies for version conflicts and VSCode integration tips. ...

Jul 21, 202619 min4046 words

Computer Network: Note

A network is $$\text{Network}=\text{Nodes}+\text{Links}+\text{Protocols},$$logical 逻辑上(transparent) physical 实现 Remember that $$\text{Computer Network}=\text{Protocol Stack}+\text{Addressing}+\text{Routing},$$ base on which we build the Internet to connect everything. Architecture & Layering The network architecture, equivalently, the protocol stack, organizes communication into layers, each providing services to the layer above while hiding implementation details from the layer below. A simple example is the OSI model, which partitions the communication process into seven layers: $$\text{Physical}\to\text{Data Link}\to\text{Network}\to\text{Transport}\to\text{Session}\to\text{Presentation}\to\text{Application}.$$ The OSI model provides a conceptual framework; it does not define specific protocols. Now consider the TCP/IP model, which condenses these into four layers: ...

Jul 20, 202632 min6780 wordsUpdated Jul 21, 2026

Data Structure: Note

Remember that $$\text{Data Structure}=\text{Organization}+\text{Storage}+\text{Operation},$$ base on which we develop algorithms to solve problems. Organization & Logical Structure The Organization, equivalently, the logical structure of data, is the intrinsic property of data, which determines the relationship between data elements and the operations on them, and it is independent from the storage. A simple example is the hash table, which realizes the mapping $$f:\text{key} \mapsto \text{value}$$ by storing entries at locations $\{\text{Hash}(\text{key})\}$. The hash function provides only a storage structure; it does not impose any logical relationship between elements. Now consider the case where keys are taken from $([n])$ and values from a given data type ...

Jul 20, 202610 min1939 wordsUpdated Jul 21, 2026

Computer Networking — Chapter 1: Computer Networks and the Internet

Notes on Chapter 1 of Computer Networking: A Top-Down Approach (7th Edition). Covers the Internet overview, network edge, network core, delay/loss/throughput, protocol layers, and network security.

Jun 27, 20265 min970 words

Computer Networking — Chapter 2: Application Layer

Notes on Chapter 2 of Computer Networking: A Top-Down Approach (7th Edition). Covers HTTP, email, DNS, P2P, CDN, video streaming, and socket programming.

Jun 27, 20266 min1105 words