操作系统
文章平均质量分 82
Hani_97
Stay hungry,stay foolish。
展开
-
MYSQL命令大全
MYSQL命令大全参考:参考:https://baijiahao.baidu.com/s?id=1597626812062144596&wfr=spider&for=pc原创 2020-03-17 15:20:36 · 402 阅读 · 0 评论 -
Segmentation fault 段错误, core dump 文件
Segmentation fault 段错误, core dump 文件原创 2021-10-26 11:02:44 · 775 阅读 · 1 评论 -
硬盘知识:硬盘结构、盘片、磁道、扇区、柱面、磁头数、寻址模式
硬盘知识:硬盘结构、盘片、磁道、扇区、柱面、磁头数、寻址模式1. 硬盘是啥?1.1 硬盘1.2 硬盘结构2. 盘片 磁头 磁道 柱面 扇区 圆盘2.1 内外圈扇区的大小变化:2.2 例子说明:1.44MB的3.5英寸软盘3. 磁盘容量4. 寻址模式:CHS(也称3D) 和 LBA4.1 CHS(也称3D)4.1.1 chs的缺点1:容量有限4.1.2 chs的缺点2:新的磁盘寻址难4.2 LBA1. 硬盘是啥?1.1 硬盘硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片原创 2021-09-01 16:10:04 · 5050 阅读 · 2 评论 -
Linux内存管理之slab 2:slab API
Linux内存管理之slab 2:slab API1. kmem_cache_create1.1 kmem_cache_create (仅分配一个kmem_cache实例)未分配实际物理页1.2 slab 创建流程1.3 slab 与伙伴系统2. kmem_cache_alloc2.1 kmem_cache_create 和 kmem_cache_alloc 关系2.2 kmalloc 函数本质2.3 kfree 函数本质3. kmem_cache_zalloc (zero 清零)3.1 kmem_cach原创 2021-08-19 14:49:37 · 865 阅读 · 0 评论 -
虚拟地址空间
虚拟地址空间1. 虚拟地址空间1.1 定义1.2 背景(为什么需要虚拟地址空间?)1.3 大小1.4 组成1.5 页表映射物理内存1.5.1 局部性原理(动态装入的基本原理)1.5.2 两个映射1.5.3 页错误1. 虚拟地址空间1.1 定义地址空间就是每个进程所能访问的内存地址范围,是一段连续的虚拟内存空间。1.2 背景(为什么需要虚拟地址空间?)因为早期的计算机运行方式是直接将程序运行在物理内存上。这就存在三个问题:问题1. 地址空间不隔离 所有进程都直接访问物理地址,程序使用的物理空间不原创 2021-08-04 10:29:57 · 6037 阅读 · 0 评论 -
僵尸进程 & 孤儿进程
僵尸进程 & 孤儿进程1. 僵尸进程-退出,没有被回收处理2. 孤儿进程-执行,没有父进程1. 僵尸进程-退出,没有被回收处理子进程退出,而父进程并没有调用 wait() 或 waitpid() 获取子进程的状态信息,那么子进程的 PID 和 进程描述符 等资源仍然保存在系统中,这种进程称之为僵尸进程危害:僵尸进程会一直以终止状态(释放了内存等资源)保持在进程表里并会一直等待父进程获取其退出状态,但父进程没有回收(父进程出了问题)。保留的那段信息就不会释放,其进程号就会一直被占用强调:原创 2021-07-26 19:40:24 · 210 阅读 · 0 评论 -
Linux 锁机制(5)之互斥,读写,信号量和自旋锁总结比较
Linux 锁机制(4)之互斥,读写和自旋锁总结比较1. 互斥,读写和自旋锁总结比较1.1 选择锁的几个参考:1.1.1 首选互斥锁1.1.2 执行时间短/临界区小,选择自旋锁1.1.3 如果能区分出读写操作,读写锁就是第一选1.2 互斥锁和自旋锁的比较(成本,睡眠,中断)锁的相关文章多线程(4)什么是锁?锁机制,死锁等说明https://blog.csdn.net/lqy971966/article/details/104527787Linux 锁机制(1)之互斥量 mutexhttps://b原创 2021-07-26 17:07:23 · 317 阅读 · 0 评论 -
Linux:上下文,进程上下文和中断上下文概念,上下文切换
操作系统二:上下文,进程上下文和中断上下文1. 上下文 context:(就是一个环境)1.1 进程上下文的三个部分:用户级上下文、寄存器上下文以及系统级上下文1.2 上下文切换1.3 cpu内核态的三种状态:2. 进程上下文:3. 中断上下文3.1 中断上下文概念:3.2 中断上下文代码中注意事项1. 上下文 context:(就是一个环境)上下文简单说来就是一个环境,相对于进程而言,就是进程执行时的环境。具体来说就是各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。1.1 进程上原创 2021-07-26 10:20:41 · 6984 阅读 · 0 评论 -
Linux RCU机制+内存屏障
Linux RCU机制1. RCU1.1 RCU 背景(读写锁的问题)1.1.1 读写锁(写独占,读共享,写锁优先级高)1.1.2 读写锁的缺点(写独占时不可读)1.1.3 RCU 是对读写锁的优化/替换,解决读写互斥问题(随时读,写互斥)1.2 RCU 定义(读,拷贝更新: 随时读,写互斥)1.3 RCU 应用场景(链表)1.3.1 多读少写的情况:典型应用场景 - 链表1.4. 宽限期1.5 RCU 优缺点1.6 RCU 机制实现的一个基本前提:不能被阻塞2. 设计思想(新老指针替换,避免加锁)2.1原创 2021-07-22 10:39:36 · 1577 阅读 · 1 评论 -
Linux:COW 写时拷贝技术
操作系统一:COW:Copy-On-Write 写时拷贝技术 1. cow 写时拷贝技术的背景1.1 传统fork()调用1.2 传统fork()调用的缺点2. cow 写时拷贝:2.1 一句话解释:虚拟地址空间独立(复制),物理地址空间共享,只有写入时才拷贝(推迟或者避免拷贝)2.2 cow 写时拷贝技术原理2.3 cow 写时拷贝的不拷贝的情形:exec2.4 cow 应用场景1. cow 写时拷贝技术的背景1.1 传统fork()调用传统的fork()系统调用直接把所有的资源复制给新创建的进原创 2021-07-16 09:29:36 · 1108 阅读 · 0 评论 -
Linux fdisk命令及U盘分区制作启动盘实践
Linux fdisk命令及U盘分区制作启动盘实践1. linux 对 U盘分区实践1.1 linux 命令识别U盘文件类型1.2 linux 对 U盘分区实践2. fdisk 命令2.1 fdisk2.2 fdisk 常用命令2.3 sda和hda的区别3. U盘制作boot启动盘3.1 MBR是啥?3.2 dd命令有个项目需要对U盘进行分区,对fdisk学习一下1. linux 对 U盘分区实践1.1 linux 命令识别U盘文件类型通过插拔U盘,然后通过一下三种方法来查看U盘的文件为sda还是原创 2021-07-06 17:32:22 · 1669 阅读 · 0 评论 -
惊群效应和内存站岗问题
惊群效应和内存站岗问题1. 惊群效应1.1 惊群效应是什么1.2 惊群效应的问题1.3 惊群的几种情况1.3.1 accept惊群(新版内核已解决)1.3.2. epoll惊群1.3.3. 线程池惊群2. 内存站岗问题有一次有人问我什么是惊群效应……1. 惊群效应1.1 惊群效应是什么当你往一群鸽子中间扔一块食物,虽然最终只有一个鸽子抢到食物,但所有鸽子都会被惊动来争夺,没有抢到食物的鸽子只好回去继续睡觉, 等待下一块食物到来。这样,每扔一块食物,都会惊动所有的鸽子,即为惊群。操作系统中的现象:原创 2021-07-03 16:54:29 · 443 阅读 · 0 评论 -
多进程和多线程间通信总结[一]
进程间通信和线程间通信总结1. 进程间通信1.1 socket - 网络中进程间通信1.1.1 socket1.1.2 代码示例1.2 消息队列 - 同一主机上的进程通信方式1.2.1. Linux中的消息队列其实就是一个文件。1.2.2. 消息队列的本质其实是一个内核提供的链表。1.2.3. 消息队列的缺点1.2.4 消息队列-ftok msgget msgsnd msgrcv msgctl 接口1.2.1 伪代码示例:1.3 信号量(Semaphore) - 同一主机上的进程通信方式1.3.1 信号量接原创 2021-07-01 11:11:53 · 897 阅读 · 0 评论 -
五种IO模型:阻塞/非阻塞/复用/信号驱动/异步IO模型
五种IO模型:阻塞/非阻塞/复用/信号驱动/异步IO模型1. IO基本概念1.1 IO概念1.2 IO的两个阶段1.2.1 IO的两个阶段-例子说明1.2 IO种类2. 五种IO模型2.1 阻塞IO模型2.1.1 举例子说明:阻塞IO模型2.1.2 阻塞IO模型2.1.3 典型应用和特点:2.2 非阻塞IO模型2.2.1 举例子说明:非阻塞IO模型2.2.2 非阻塞IO模型2.2.3 典型应用和特点:2.3 IO复用模型2.3.1 举例子说明:IO复用模型2.3.2 IO复用模型2.3.3 典型应用和特点:原创 2021-06-23 17:25:38 · 1244 阅读 · 1 评论 -
在C语言中 32/64各类型占字节大小,cpu 的位
在C语言中,double、long、unsigned、int、char类型数据所占字节数https://blog.csdn.net/lyl0625/article/details/735004532位编译器 char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8原创 2021-06-15 15:23:11 · 2695 阅读 · 0 评论 -
通俗易懂说信号(5)sigprocmask
通俗易懂说信号(5)sigprocmask1. sigprocmask 定义2. sigprocmask 参数说明3. 例子说明3.1 例子13.2 例子21. sigprocmask 定义用于改变进程的当前阻塞信号集。2. sigprocmask 参数说明#include <signal.h>int sigprocmask( int how, const sigset_t *restrict set, sigset_t *restrict oset );how: SIG原创 2021-06-15 10:33:06 · 656 阅读 · 1 评论 -
串口;电脑连接串口;为啥需要/保留串口
串口;电脑连接串口;为啥需要/保留串口1. 串口(COM口):2. 电脑串口连接设备步骤2.1 串口网口线3.设备为什么还保留串口?1. 串口(COM口):串口: 又称COM口;串行接口是指数据一位一位地顺序传。COM 接口是指 cluster communication port接口,即串行通讯端口。串口叫做串行接口,现在的PC 一般有两个串行口COM 1 和COM 2通常 COM 1 使用的是9针D形连接器,也称之为RS-232接口而COM 2 有的使用的是老式的DB25针连接器,也称之为原创 2021-06-08 09:19:31 · 1835 阅读 · 2 评论 -
寄存器(3)KDB入门+MIPS汇编及汇编代码详解
KDB入门+MIPS汇编及汇编代码详解原创 2021-04-19 13:39:03 · 3028 阅读 · 0 评论 -
内存映射原理
内存映射原理1. 内存映射原理1.1 什么是映射?1.2 内存映射原理通俗理解1.3 内存映射原理-mmap2. 内存映射文件原理原理图:非常棒!!!3. mmap munmap 参数详解:4.代码示例参考:1. 内存映射原理1.1 什么是映射?“映射”这个词,就和数学课上说的“一一映射”是一个意思,就是建立一种一一对应关系1.2 内存映射原理通俗理解通俗说就是:在这里主要是将硬盘上文件的位置与进程逻辑地址空间(其实就是32位下的4GB虚拟地址空间)中一块大小相同的区域之间的一一对应。关于虚拟地原创 2021-04-07 15:32:01 · 888 阅读 · 0 评论 -
Linux内存管理之slab 1:slab原理(+buddy伙伴系统)
Linux内存管理之slab 1:slab原理1. 为什么有了Buddy(伙伴系统)还需要slab?1.1 什么是伙伴系统?1.1.1 伙伴系统思想1.2 伙伴系统例子说明1.3 伙伴系统能解决的问题2 为什么需要引入slab算法?2.1 伙伴系统的缺点2.2 伙伴系统的缺点例子说明3. slab 能解决什么问题?3.3 slab 分配例子4. slab系统核心思想是什么?4.1 slab核心思想:对象管理内存4.2 slab的对象/内存池思想4.3 slab中对象是什么?4.4 cache是内存中的区域,原创 2021-01-22 11:07:57 · 9691 阅读 · 1 评论 -
ping 命令说明-查看谁占用ip + ping过程解析
ping 命令说明1. 问题:有人使用了某个特定ip,但是不知道是谁,使用 ping -a ip2. ping 结果字段说明:字节=32 时间<1ms TTL=64 说明3. ping 命令参数大全(cmd: ping/?)1. 问题:有人使用了某个特定ip,但是不知道是谁,使用 ping -a ip-a 将地址解析为计算机名。C:\Users\hani>ping -a 192.168.33.111正在 Ping wx [192.168.33.111] 具有 32 字节的数据:来自原创 2020-12-18 15:08:58 · 3066 阅读 · 0 评论 -
c json解析/创建详解及代码示例
c json解析/创建详解及代码示例1. JSON 定义2. json 介绍及语法2.1 json 介绍2.2 json 语法2.2.1 JSON key 键2.2.2 JSON value 值3. cJSON 的核心结构体 cJSON3.1 cJSON 说明:3.2 cjson 源码 github4. 代码示例-解析json4.1. json 示例文件: test.txt4.2 解析json 主函数: jsonTest.c4.3 编译及测试结果4.3.1 文件目录4.3.2 编译命令4.3.3 结果5.原创 2020-12-16 11:28:18 · 1654 阅读 · 0 评论 -
BITMAP 位图
BITMAP 位图1. BITMAP 定义2. Bitmap 的实现原理3. bitmap c 代码实现 github参考:1. BITMAP 定义Bitmap 是一个十分有用的数据结构。所谓的 Bit-map 就是用一个 bit 位来标记某个元素对应的 Value,而 Key 即是该元素。由于采用了 Bit 为单位来存储数据,因此在内存占用方面,可以大大节省。2. Bitmap 的实现原理http://blog.studygolang.com/2014/09/bitmap_multi_lang原创 2020-12-15 14:40:29 · 215 阅读 · 0 评论 -
Linux 中断(包括:中断背景,定义,处理过程,类型,上下部分,中断上下文等)
中断1. 中断 定义1.1 操作系统中断举例1.2 官方定义中断1.3 分类2. 中断的作用1. 中断 定义中断的汉语解释是半中间发生阻隔、停顿或故障而断开。中断通常被定义为一个事件,该事件能够改变处理器执行指令的顺序。1.1 操作系统中断举例计算机操作系统自然离不开外部设备:鼠标、键盘、网卡、磁盘等等。就拿网卡来讲,我计算机并不知道时候数据包会来到,我能保证的就是数据来了我能正常接收就行了。但是我又不可能一直等着接收数据包,要是这样其他任务就死完了。所以合理的办法是,你数据包来到之后,通知原创 2020-12-15 11:51:44 · 3875 阅读 · 0 评论 -
通俗易懂说多路复用(2-2)epoll源码解析
通俗易懂说多路复用(2-2)epoll源码解析1. epoll_create 功能及源码实现2. epoll_ctl 功能及源码实现2.1 epoll_ctl 功能及源码实现2.2 ep_insert 源码实现2.2.1 ep_insert 功能及源码实现2.2.2 红黑树、双链表、epitem之间的关系:3. epoll_wait 功能及源码实现3.1 epoll_wait 实现步骤3.2 epoll_wait 源码实现3.2.1 ep_send_events4. epoll 中涉及的 epitem 和原创 2020-12-15 10:28:21 · 260 阅读 · 0 评论 -
通俗易懂说多路复用(2-1)epoll对select的改进及epoll原理
epoll对select的改进及epoll原理1. epoll 对 select 的改进1.1 措施一:功能分离1.2 措施二:就绪列表:rdlist2. epoll 原理2.1 创建epoll对象2.1. 维护监视列表2.3. 接收数据2.4. 阻塞和唤醒进程1. epoll 对 select 的改进1.1 措施一:功能分离select低效的原因之一是将“维护等待队列”和“阻塞进程”两个步骤合二为一。如下图所示,每次调用select都需要这两步操作,然而大多数应用场景中,需要监视的socket相对原创 2020-12-14 14:50:49 · 220 阅读 · 0 评论 -
timerfd及timerfd_create,timerfd_settime,timerfd_gettime函数详解
timerfd及timerfd_create,timerfd_settime,timerfd_gettime函数1. timerfd 介绍1.1 man timerfd_create2. timerfd_ 三个函数接口2.1 timerfd_create 参数说明:2.2 timerfd_settime 参数说明:2.3 timerfd_gettime 参数说明:3. man 自带timerfd代码示例参考:1. timerfd 介绍timerfd是Linux为用户程序提供的一个定时器接口。这个接口基原创 2020-12-11 14:50:09 · 6579 阅读 · 1 评论 -
wait 和 waitpid 详解及代码示例
wait 和 waitpid 详解及代码示例1. 父子进程处理历史及父进程处理方法2. wait2.1 wait 功能2.2 wait 接口2.3 wait 原理2.3.1 wait 源码实现2.4 wait 参数:2.5 wait 返回值:2.6 wait 代码示例3. waitpid3.1 waitpid 功能3.2 waitpid 接口3.3 waitpid 原理3.4 waitpid 参数:3.5 waitpid 返回值:3.6 waitpid 代码示例参考1. 父子进程处理历史及父进程处理方法原创 2020-12-07 14:32:42 · 1109 阅读 · 0 评论 -
linux 开源内存泄露检测工具: valgrind
linux 开源内存泄露检测工具: valgrind 1. valgrind 介绍1.1 valgrind 下载地址:1.2 安装1.3 valgrind 的简单用法1.4 valgrind 结果2. valgrind 亲测及问题解决2.1 xxx项目有个内存泄露,用 valgrind 检测出来2.2 原因:2.3 修改1. valgrind 介绍Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具。Valgrind可以检测内存泄漏和内存违例,还可以分析cache的使用等,灵活轻原创 2020-12-03 20:14:17 · 386 阅读 · 0 评论 -
Linux ps -aux 和 ps -ef 查看进程信息说明+ps查看进程中的线程
ps -aux 和 ps -ef 查看进程信息说明1. ps -aux | grep xxx1.1 ps -aux 输出格式:1.2. 例子1.3. 说明2. ps -ef | grep xxx2.1 ps -ef 输出格式:2.2 例子3. Linux 虚拟内存管理的核心概念之一1. ps -aux | grep xxx1.1 ps -aux 输出格式:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND用户 进程ID cpu占用率 内存占用原创 2020-12-03 15:55:46 · 4875 阅读 · 0 评论 -
流量,bps,CPS,吞吐量/TPS、 QPS 、并发数、响应时间/RT概念、丢包率、PV、高并发连接 挂载
吞吐量/TPS、 QPS 、并发数、响应时间/RT概念1. 响应时间(RT)2. 吞吐量(Throughput)3. 并发用户数4. QPS每秒查询率(Query Per Second)1. 响应时间(RT)响应时间是指系统对请求作出响应的时间。2. 吞吐量(Throughput)吞吐量是指系统在单位时间内处理请求的数量。对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。但对于并发系统,通常需要用吞吐量作为性能指标。实际上,不同系统的平均响应时间随原创 2020-12-03 15:19:38 · 6799 阅读 · 0 评论 -
linux system 和 execl 函数对比
linux system 和 execl 函数对比1. system()函数1.1 system 函数的具体执行步骤1.1.1 system 源码实现1.2 system 执行成功1.3 system 执行成功,但命令未执行成功1.4 system 执行成功,但命令执行失败2. execl 成功不会返回,命令执行失败返回-12.1 execl 执行成功不返回2.1.1 exec 重要说明!!!2.1.2 execl + fork 返回信息2.2 execl 命令执行成功,内容失败,表示成功,不返回2.3 e原创 2020-12-03 15:14:21 · 555 阅读 · 0 评论 -
Linux exec 系列函数:execl execv等
exec 系列函数:execl execv等1. exec函数族1.1 exec 重要说明!!!1.2 使用exec函数族主要有两种情况:2.1 exec 函数族6个函数可以划分为两组:2.2 exec 函数的原型如下:2.3 exec 命名规律2.3.1 exec函数里的参数可以分成3个部分2.3.2 好了说下命名规则:2.4 参数说明:2.5 exec 返回值4. 6个函数接口的代码示例4.1 execl 代码示例4.1.1 execl 执行成功不返回/命令执行失败返回-14.1.2 execl + f原创 2020-12-03 15:11:58 · 4111 阅读 · 0 评论 -
linux 时间 time(4) CLOCK_MONOTONIC 与 CLOCK_REALTIME 区别
linux 时间(4) CLOCK_MONOTONIC 与 CLOCK_REALTIME 区别1. CLOCK_MONOTONIC是monotonic time2. CLOCK_REALTIME 是wall time3. 区别:https://blog.csdn.net/tangchenchan/article/details/479894731. CLOCK_MONOTONIC是monotonic timemonotonic time字面意思是单调时间,实际上它指的是系统启动以后流逝的时间,这是由变原创 2020-12-10 11:39:51 · 2285 阅读 · 1 评论 -
linux 时间 time(3)CentOS命令修改系统时间同步
CentOS命令修改系统时间同步 time2. 本地时间和硬件时间设置及同步3. 修改时区为北京时区参考:#1. 问题: 如果容器全部挂了 是系统时间不对 重新设置即可2. 本地时间和硬件时间设置及同步使用CentOS,遇到本地时间对不上,直接敲命令:date -s "2017-10-21 15:15:15"是立即生效了,但是重启后,系统时间还是原来的。修改了其一是没有办法奏效,必须两者都更改。1.date //查看本地2.hwclock --sh原创 2020-12-02 10:55:51 · 391 阅读 · 0 评论 -
CentOS 7 添加开机启动服务/ hello world 脚本实现
CentOS 7 添加开机启动服务/ hello world 脚本实现1. hello world 素材2. 部署脚本 deployHello.sh 部署自启动 helloAudoRun2.1 说明1:2.1 说明2:2.3 部署之后查看/etc/init.d/ 是否有 helloAudoRun3. 自启动脚本 helloAudoRun4. 实现 service helloAudoRun start/stop5. 其中,设备重启/关机后会执行相应 Start 和 stop参考:1. hello world原创 2020-11-27 17:38:25 · 305 阅读 · 0 评论 -
linux 时间 time(2)-频率(时钟周期/指令周期/CPU周期)和 jiffies
linux 时间(1)-频率 和 jiffies 1. 频率1.1 LINUX系统时钟频率1.1.1 Linux 2.4/2.6 时钟频率的区别2. jiffies - 电脑开机到现在总共的时钟中断次数2.1 jiffies初始化2.2 32/64位jiffies参考1. 频率单位时间内完成振动或振荡的次数或周数常用单位是赫兹。1赫兹等于1次/秒或1周/秒 1.1 LINUX系统时钟频率LINUX系统时钟频率是一个常数HZ来决定的,通常HZ=100,那么他的精度度就是10ms(毫秒)。也就是说原创 2020-11-27 16:06:20 · 5038 阅读 · 0 评论 -
\r \n 回车换行符详解
\r \n 回车换行符详解1. \r \n 回车换行的含义1.1 \r 回车1.2 \n 换行2. \r \n 回车换行的历史2.1 \r \n 回车换行的历史2.2 发展:linux 和 windows的不同1. \r \n 回车换行的含义1.1 \r 回车CR (carriage return)回车就是:光标回到一旧行(当前行)的开头。(即光标目前所在的行为旧行)回车符 ‘\r’ ASCII值为13 (’\x0a’),回车(return oldline begin)1.2 \n 换行LF原创 2020-09-02 09:15:27 · 49208 阅读 · 11 评论 -
hosts 域名配置
hosts 域名配置为什么会有域名呢?1. windows 下 hosts1.1 hosts 作用1.2 hosts 原理1.3 hosts 历史1.4 存储位置2. linux 下 hosts2.1 linux hosts 介绍2.2 修改/查看网址域名与其对应的IP地址建立一个关联“数据库”如: www.baidu.com 1.2.3.4 //假设是1.2.3.4为什么会有域名呢?IP地址不方便记忆,所以有了域名1. windows 下 hostsHosts是一个没有扩展名的系统文件,可以原创 2020-08-06 17:16:52 · 8370 阅读 · 0 评论 -
页错误 Page Fault /缺页异常 详解
页错误 Page Fault 详解1. 第一部分:页错误1.1 页错误定义1.2 页错误的处理2. 第二部分:上面看不懂,请往下看2.1. 举例子(背景)2.1.1 进程及页映射2.1.2 映射关系和数据结构2.2 结合图说明什么是页错误2.2.1 页错误产生2.2.2 页错误处理1. 第一部分:页错误1.1 页错误定义当cpu执行进程的某个页面时,发现这个虚拟空间中的页没有映射到内存中,而导致的中断(页错误)。1.2 页错误的处理页错误发生后,操作系统去查询保存可执行文件和其进程虚拟空间映射原创 2020-06-22 21:42:30 · 10561 阅读 · 2 评论