操作系统-进程和线程
简介操作系统系列其二,主要是针对中国大陆考研所要求的内容对操作系统的知识体系进行总结和梳理,对于重点内容会使用黑体加粗,本篇内容主要包含以下几点:
进程与线程的概念
CPU调度
经典调度算法
同步与互斥
信号量
经典同步问题
死锁
大纲进程与线程进程的概念在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征。为此引入了进程(Process)的概念,以便更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性(最基本的两个特性)为了使参与并发执行的每个程序(含数据)都能独立地运行,必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block, PCB)系统利用 PCB 来描述进程的基本情况和运行状态,进而控制和管理进程,PCB是进程存在的唯一标志。相应地,由程序段、相关数据段和 PCB 三部分构成了进程实体(又称进程映像)所谓创建进程,实质上是创建进程实体中的PCB,而撤销进程,实质上是撤销进程的PCB。值得注意的是,进程映像是静态的,进程则是动态的。
进程的状态与转换进程在其生命周期内,由于系统中各进 ...
操作系统-计算机系统概述
简介操作系统系列其一,主要是针对中国大陆考研所要求的内容对操作系统的知识体系进行总结和梳理,对于重点内容会使用黑体加粗,本篇内容主要包含以下几点:
操作系统的基本概念
操作系统发展历程
程序运行环境
操作系统结构
操作系统引导
虚拟机
大纲
操作系统的基本概念
操作系统的特征
操作系统接口
操作系统的发展历程
批处理阶段
分时操作系统
实时操作系统
操作系统的运行环境
处理器的运行模式$\star$
中断和异常
操作系统结构
操作系统引导
虚拟机
典型例题操作系统的基本概念操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序,同时也是计算机系统的内核与基石。
操作系统的特征
并发并发:两个或者多个事件在同一个时间间隔内发生。这些事件在宏观上是同时发生的,在微观上是交替发生的。操作系统的并发是通过分时实现的并行:是指两个或者多个事件在同一时刻发生
共享资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享方式:系统中的某些资源,可以提供给多个 ...
计算机组成原理-总线及I/O
简介计算机组成原理系列其五,主要是针对中国大陆考研所要求的内容对计算机组成原理的知识体系进行总结和梳理,本篇内容是计算机的总线及I/O介绍,主要包含以下几点:
总线的基本概念
总线事物和定时
I/O接口
I/O方式
大纲
总线
分类$\star$
片内总线
系统总线
总线结构$\star$
总线的性能指标$\star$
例题
总线事物与定时
总线事物
总线定时
I/O接口
基本结构$\star$
I/O接口的类型
I/O端口及其编址方式$\star$
I/O方式
程序查询方式
程序查询方式-例题
程序中断方式$\star$
程序中断工作流程
多重中断
中断屏蔽技术
程序中断方式-例题
DMA方式
特点
DMA的传送方式$\star$
DMA的传送过程$\star$
DMA和中断方式的区别$\star$
总线总线是一组能为多个部件分时共享的公共信息传输路线。(一个总线包含多根信号线)总线的特点:分时和共享
分时:同一时刻只允许有一个部件向总线发送信息
共享:总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享,多个部件可同时 ...
Hexo常用命令
记录一下平常会用到的一些Hexo指令,在指定文件夹下Git Bash here输入命令即可
基本命令init建立一个新的网站。如果没有设定folder 的话,Hexo 会在目前的资料夹建立网站1hexo init [folder]
New建立一篇新的文章。如果没有设定layout的话,则会使用_config.yml中的default_layout设定代替1hexo new [layout] "title"
Generate产生静态档案1hexo generate 生成静态档案即部署网站1hexo d -g |选项| 描述||:—-:|:—-:||-d,—deploy| 产生完成即部署网站||-w,—watch| 监看档案变更|
Server启动本地预览,默认地址是http://localhost:4000/1hexo server|选项| 描述||:—-:|:—-:||-p,—port| 自选端口||-s,—static| 只使用静态档案||-l,—log| 启动记录器,或覆盖记录格式|
Clean清除缓存数据( db. ...
Markdown实用技巧
记录一下可能会用到非Markdown基础语法包含的实用技巧
Markdown实现页内跳转跳转到的地方
比较通用的一个方法是使用html标签实现
定义一个锚(id):<span id="jump">跳转到的地方</span>
使用markdown语法:[点击跳转](#jump)
点击跳转
Markdown中的表格处理使用markdown原生格式的表格使用html的表格更方便
markdown原生格式
1234| 左对齐 | 右对齐 | 居中对齐 || :-----| ----: | :----: || 单元格 | 单元格 | 单元格 || 单元格 | 单元格 | 单元格 |
html实现
tr:tr 是 table row 的缩写,表示表格的一行。
td:td 是 table data 的缩写,表示表格的数据单元格。
th:th 是 table header的缩写,表示表格的表头单元格
align:设置内容左、右对齐或居中
colspan:用于合并单元格
$A_1$
$A_2$
...
计算机组成原理-CPU
简介计算机组成原理系列其四,主要是针对中国大陆考研所要求的内容对计算机组成原理的知识体系进行总结和梳理,本篇内容是计算机的CPU相关内容介绍,主要包含以下几点:
CPU的功能和基本结构
指令的执行过程
CPU内的数据通路
控制器的功能和原理
指令流水线
多处理器
大纲
CPU的基本结构
运算器
控制器
指令的执行过程
指令周期
指令周期的数据流
指令的执行方案
CPU内的数据通路
基本结构
例题分析
控制器
微程序控制器
基本概念
编码方式
地址形成方式
格式
指令流水线
定义
基本实现
冒险和处理
结构冒险
数据冒险
控制冒险
流水线的性能指标
高级流水线技术
多处理器概念
SISD、SIMD、MIMD
硬件多线程
多核处理器
CPU的基本结构CPU主要由运算器和控制器两大部分组成
Tips:CPU内部的寄存器大致分为两类:
用户可见的寄存器:通用寄存器组、PSW、PC等
用户不可见寄存器:MAR、MDR、IR等
运算器运算器是计算机对数据进行加工处理的中心,其主要有:
算术逻辑单元(ALU):进行算术、逻辑运算
程序状态寄存器(PS ...
计算机组成原理-指令系统
简介计算机组成原理系列其三,主要是针对中国大陆考研所要求的内容对计算机组成原理的知识体系进行总结和梳理,本篇内容是计算机的指令系统介绍,主要包含以下几点:
指令格式的基本内容
指令格式
寻址方式
汇编基础
CISC和RISC的基本概念
大纲
指令系统
指令系统简述
指令的基本格式
定长与变长指令字结构
定长操作码指令格式
拓展操作码指令格式
寻址方式(重点)
指令寻址
数据寻址
汇编基础
基础知识
常用指令
CISC和RISC
典型例题
指令系统简述指令是指示计算机执行某些操作的命令。一台计算机的所有指令的集合构成该机器的指令集。指令集体系结构(ISA)规定了:指令格式、数据类型和格式、操作数的存放方式、存储空间的大小和编址方式、寻址方式etc.
指令的基本格式
Tips:几种字长的区别机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。存储字长:存储器中一个存储单元(存储地址)所存储的二进制代码的位数,即存储器中的MDR的位数。指令字长:计算机指令字的位数。数据字长:计算机数据存储所占用的位数。其中:机器字长、存储字长:一般不变,固定长度指令字 ...
计算机组成原理-存储系统
简介计算机组成原理系列其二,主要是针对中国大陆考研所要求的内容对计算机组成原理的知识体系进行总结和梳理,本篇内容是计算机内部和外部的存储介绍,主要包含以下几点:
存储器的分类与层次化的存储器基本结构
主存与外(辅)存
主存的拓展和外存的结构
Cache
虚拟内存
大纲
存储系统
存储器概述
多种角度进行分类
存储器的性能指标
多层次的存储系统
主存储器(主存)
SRAM和DRAM简介
DRAM的工作原理
DRAM的刷新
DRAM的地址引脚复用
ROM
特点
类型
多模块存储器
单体多字存储器和双端口RAM
多体并行存储器
高位交叉编址(顺序方式)
低位交叉编址(交叉方式)
两者的性能分析
主存储器和CPU的连接
连接原理
主存的容量扩展
位扩展法
字扩展法
字位同时扩展法
外部存储器
磁盘存储器(机械硬盘)
磁盘的组成
磁盘的性能指标
磁盘阵列和固态硬盘
高速缓冲存储器(Cache)(重难点)
Cache的工作原理
Cache的命中率
Cache和主存的映射方式
直接映射
全相联映射
组相联映射
Cache中主存块的替换算法
近期最 ...
计算机组成原理-数据的表示和计算
简介计算机组成原理系列其一,主要是针对中国大陆考研所要求的内容对计算机组成原理的知识体系进行总结和梳理,本篇内容主要包含以下几点:
数制的表示
计算机的内部编码
定点数和浮点数
C语言中的数据表示
数据的计算
大纲重点内容会使用黑色加粗表示
数据的表示和计算
前置知识
数值转换
计算机运算速度
CPU执行时间
数制
进位计数法
r位进位计数法
不同进制数相互转换方法
定点数的表示
真值和机器数
机器数的定点表示
原码、补码、反码、移码
定点数的移位
算术位移
逻辑位移
循环位移
定点数的加减法
溢出的判别方法
浮点数
一般浮点数的表示
IEEE 754标准
C语言中的数据类型及强制类型转换
整数类型的转换
包含浮点数的转换
数据的存储和排列
大端法
小端法
拓展
乘2取整法
前情提要
数值转换
计算机进行数据处理时,一次存取、加工和传送的数据长度称为字,对于不同的品牌CPU 1Word(一个字)通常由一个或多个(一般是字节的整数位)字节构成
在描述存储容量和文件大小时,K、M、G、T常用2次幂表示
1Byte = 8bit
1KB = ...
搭建TG贴纸下载Robot
前情提要最近回家用TG贴纸下载机器人的时候发现太大的贴纸包无法下载,无奈只好自己搭建一个,正好在网上看到一个不错的,于是正好写这篇教程记录一下
源码下载和必备环境
Robot源代码来源Github
Imagemagick下载
所需环境:
Node.js v8.0.0及以上
ImageMagick with webp support (Check with identify -list format | grep -i 'webp'on Linux systems)
开始搭建Robot
因为 Imagemagick 没有 webp 支持,可以使用identify -list format查看支持的图片格式
Imagemagick源码编译webp1234567891011121314#先安装webpyum install libwebp -y#卸载系统自带的ImageMagickyum remove ImageMagick -y#下载ImageMagick源码包,编译wget -c https://download.imagemagick.org/archive/re ...