操作系统
设备管理
设备控制器# 为了屏蔽设备之间的差异,每个设备都有一个叫设备控制器(Device Control) 的组件,比如硬盘有硬盘控制器、显示器有视频控制器等。
控制器是有三类寄存器,它们分别是状态寄存器(Status Register)、 命令寄存器(Command Register…
进程管理
进程、线程和协程 进程,线程,协程是什么
进程(Process) 线程(Thread) 协程(Goroutine)定义 资源分配和拥有的基本单位 程序执行的基本单位 用户态的轻量级线程…
网络管理
I/O 多路复用:select/poll/epoll 我们可以从 TCP Socket 编程模型里看出 TCP Socket 调用机制是简单的一对一调用机制,使用的是同步阻塞的方式,那么如何改进 IO 模型,使用相同资源服务更多用户呢?
多进程模型
一个比较传统的方式…

操作系统基础
操作系统# 1. 操作系统是什么#
本质上是一个运行在计算机上的软件程序 ,主要用于管理计算机硬件和软件资源。
内核(Kernel)是操作系统的核心部分,它负责系统的内存管理,硬件设备的管理,文件系统的管理以及应用程序的管理。 内核是连接应用程序和硬件的桥梁…
文件系统
1. 文件系统的基本组成 Linux 文件系统会为每个文件分配两个数据结构:索引节点(index node)和目录项(directory entry),它们主要用来记录文件的元信息和目录层次结构。
索引节点,也就是 inode,用来记录文件的元信息,比如 inode 编号…
内存管理
1. 内存管理主要做了什么?# 内存的分配与回收:对进程所需的内存进行分配和释放,malloc 函数:申请内存,free 函数:释放内存。 地址转换:将程序中的虚拟地址转换成内存中的物理地址。 内存扩充:当系统没有足够的内存时,利用虚拟内存技术或自动覆盖技术,从逻辑上扩充内存。…