上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 要想在计算机里干点事,权限肯定是越高越好的。正常情况下,cpu硬件层面保证了运行在0环的操作系统和运行在3环的用户app互相隔离,3环app要想进入0环执行代码只能通过中断或系统调用的形式,执行最多代码的应该就是硬件的驱动了,常见的屏幕打印、磁盘读写、网卡/wifi收发数据都要执行硬件驱动。因为需要 阅读全文
posted @ 2022-01-08 17:13 第七子007 阅读(1385) 评论(0) 推荐(0) 编辑
摘要: 中断是整个计算机体系最核心的功能之一,关于中断硬件原理可以参考文章末尾的链接1(/theseventhson/p/13068709.html),这里不再赘述;中断常见的种类如下: 硬件中断:键盘、鼠标、网卡等输入 软件中断:int 3、int 0xe(p 阅读全文
posted @ 2022-01-05 20:58 第七子007 阅读(1342) 评论(0) 推荐(1) 编辑
摘要: 为了提高cpu的使用率,硬件层面的cpu和软件层面的操作系统都支持多进程/多线程同时运行,这就必然涉及到同一个资源的互斥/有序访问,保证结果在逻辑上正确;由此诞生了原子变量、自旋锁、读写锁、顺序锁、互斥体、信号量等互斥和同步的手段!这么多的方式、手段,很容易混淆,a56爆大奖在线娱乐这里做了这6种互斥/同步方式要点 阅读全文
posted @ 2021-12-24 15:26 第七子007 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 上文介绍了buddy和slab内存管理的思路,a56爆大奖在线娱乐看看这些算法的关键代码都是怎么写的,这里用的是4.9版本的源码;重新把这个图贴出来,方便后续理解代码! 1、如上图所示,slab算法的入口就是kmem_cache结构体了,和其他重要结构体管理的方式类似,这里也统一采用数组的形式管理所有的kmem_c 阅读全文
posted @ 2021-12-21 16:32 第七子007 阅读(978) 评论(0) 推荐(0) 编辑
摘要: cpu硬件管理内存是以页(4KB)为最小颗粒度的,因为页描述符设置内存属性就是按照页为单位设置的!这个颗粒度是非常大的,用户如果只要几十Byte的内存也分配4KB的话,再多的内存也会很快被败光,同时带来了内存碎片化的问题,a56爆大奖在线娱乐迫切需要小颗粒度的内存分配方式!buddy和slab孕育而生! 1、先看看 阅读全文
posted @ 2021-12-19 20:20 第七子007 阅读(2250) 评论(0) 推荐(0) 编辑
摘要: 1、计算的内存和磁盘都是用来存储数据的,作用上没有本质区别,但是这两种存储介质的特性却差异巨大: 内存需要上电才能存储数据,一旦掉电数据就没了,磁盘却不需要用电也能保存数据 内存的速度很快,大约100ns就能读写数据,而磁盘是毫秒级别的,理论速度差了几万倍; a56爆大奖在线娱乐计算机运行时为了追求速度,会尽量把数 阅读全文
posted @ 2021-12-15 21:46 第七子007 阅读(1466) 评论(0) 推荐(0) 编辑
摘要: 1、windows中可执行文件是PE格式的,以exe作为后缀结尾(当然驱动sys和动态链接dll也是PE格式的,但普通用户用不上);用户使用也很方便,直接双击exe文件就能开始运行了;linux也类似,可执行文件是ELF格式的,用户双击也能运行;这么方便的功能在底层是怎么实现的了?先阐述一下大概的流 阅读全文
posted @ 2021-12-12 21:25 第七子007 阅读(1374) 评论(0) 推荐(0) 编辑
摘要: linux的设计理念:万物皆文件!换句话说:所有的设备,包括但不限于磁盘、串口、网卡、pipe管道、打印机等统一看成是文件。对于用户来说,所有操作都是通过open、read、write、ioctl、close等接口操作的,确实很方便;但是对于linux,底层明明是不同的硬件设备,这些设备怎么才能统一 阅读全文
posted @ 2021-12-09 12:15 第七子007 阅读(1642) 评论(0) 推荐(0) 编辑
摘要: 对于普通用户,平时使用操作系统是肯定涉及到创建、更改、删除文件(比如mkdir、rmdir、rm、chmod、ln等);有些文件是高权限用户建的,低权限用户甚至都打不开,也删不掉;为了方便管理不同业务类型的文件,还需要在不同的逻辑分区建文件夹,分门别类各种文件;linux下用ls -l命令还可以查看 阅读全文
posted @ 2021-12-07 18:17 第七子007 阅读(1603) 评论(1) 推荐(0) 编辑
摘要: 对于普通用户而言,日常用的都是windows操作系统。windows把整个物理硬盘分成C、D、E、F.....等逻辑分区,用户可以随意在各个逻辑分区存放数据文件;逻辑分区之间是独立互不影响的,格式化某个逻辑分区,不会影响其他逻辑分区的数据,a56爆大奖在线娱乐C、D、E、F.....等逻辑分区就是磁盘的根目录;如果 阅读全文
posted @ 2021-12-03 21:43 第七子007 阅读(1172) 评论(0) 推荐(1) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页