调度算法

    进程调度算法

    进程调度算法也称 CPU 调度算法,毕竟进程是由 CPU 调度的。

    当 CPU 空闲时,操作系统就选择内存中的某个「就绪状态」的进程,并给其分配 CPU。

    通常有以下情况会发生 CPU 调度:

    1. 当进程从运行状态转到等待状态;
    2. 当进程从运行状态转...
    Read More

    内存管理

    为什么要有虚拟内存

    虚拟内存

    如果程序直接操作物理内存,那么如果有多个程序同时运行,难免会出现多个程序操作相同物理地址的情况,那么程序极其容易崩溃

    为了解决这个问题,操作系统提出了虚拟内存的概念,将不同进程的虚拟地址和不同内存的物理地址映射起来。<...

    Read More

    硬件结构

    CPU 是如何执行程序的

    冯诺依曼模型

    五个基本部分:运算器、控制器、存储器、输入设备、输出设备

    Read More

    文件系统

    文件系统的基本组成

    文件系统是操作系统中负责管理持久数据的子系统,说简单点,就是负责把用户的文件存到磁盘硬件中,因为即使计算机断电了,磁盘里的数据并不会丢失,所以可以持久化的保存文件。

    文件系统的基本数据单位是文件,它的目的是对磁盘上的文件进行组织管理,那组织的方式不同,就会形成不同的文件系统。

    Linu...

    Read More

    说明文件

    分类 operating system 下的文章是我阅读小林 coding 图解系统部分文章的学习记录 基本就是原文复制粘贴;看这种技术博客,我发现如果只是盯着看,会很难坚持的看下去。 但是如果,自己动手把文章的文字自己在电脑上敲一遍,会容易阅读许多。

    原文连接:https://xiaolincoding.com/os/

    Read More

    设备管理

    设备控制器

    我们的电脑设备可以接非常多的输入输出设备,比如键盘、鼠标、显示器、网卡、硬盘、打印机、音响等等,每个设备的用法和功能都不同,那操作系统是如何把这些输入输出设备统一管理的呢?

    为了屏蔽设备之间的差异,每个设备都有一个叫设备控制器(*Device Control*) 的组件,比如硬盘有硬...

    Read More

    进程管理

    进程、线程基础

    进程

    编写的代码只是一个存储在硬盘的静态文件,通过编译后就会生成二进制可执行文件,当我们运行这个可执行文件后,它会被装载到内存中,接着 CPU 会执行程序中的每一条指令,那么这个运行中的程序,就被称为「进程」(Process)

    Read More

    操作系统结构

    Linux 内核 vs Windows 内核

    内核

    计算机是由各种外部硬件设备组成的,比如内存、cpu、硬盘等,

    如果每个应用都要和这些硬件设备对接通信协议,那这样太累了,所以这个中间人就由内核来负责,让内核作为应用连接硬件设备的桥梁 Read More

    View: User: