![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 97
gengqianyu
不要半途而废
展开
-
二进制读写之大端VS小端
字节(Byte)所谓大端(Big Endian)、小端(Little Endian)是指计算机在读写数据时遵循的字节排列顺序,即字节序(Byte Order)。想要理解字节序,必须得先了解字节。计算机CPU运行任何程序,处理任何事物,都是在执行一段由0、1组成的二进制机器指令;也就说计算机只认识0和1;每个0和1都被分别放到一个bit位上,bit:计算机世界里表示信息的最小单位。例如,整数15,二进制为1111, 要用4个二进制bit位表示;整数200,二进制为11001000,要用8个二进制bit原创 2020-06-16 19:46:17 · 6861 阅读 · 1 评论 -
大话操作系统之I/O
I/O设备管理什么是I/O设备I/O 即 input/output 就是(输入/输出)操作系统作为系统资源的管理者,不仅要对主机内部设备如CPU,内存,外存等设备进行管理,还需要对主机外部设备进行管理。I/O设备通常是指外部设备,例如鼠标,键盘即为输入型设备,显示器即为输出型设备;但I/O设备也包含内部设备例如,外存(磁盘),网卡等;(鼠标,键盘为字符型设备,输入输出以字符为单位,采用中断驱动的方式。磁盘为块设备,输入输出以磁盘块大小为单位)类UNIX系统中将外设抽象为一种特殊的文件,用户可原创 2020-05-17 18:01:15 · 482 阅读 · 0 评论 -
大话操作系统之运行机制
运行机制什么是机器指令?能够让CPU直接识别,执行的指令就是机器指令。因为CPU只认识0和1,所以机器指令是由)01组成的指令集。程序代码怎样转化成机器指令的?程序代码是通过编译器,进过一下四个步骤形成最终二进制可执行文件:预处理:程序经过CPP预处理器,删除注释,删除define,展开宏定义,添加行号,文件名标识等一些列操作,形成一个.i文件。编译:把预处理完成的.i文件,进行词法分析、语法分析、语义分析以及优化后产生汇编代码文件.asm。汇编: 编译器把汇编代码转化为CPU可以执行的机器原创 2020-05-17 15:37:46 · 322 阅读 · 0 评论 -
虚拟内存的作用
概述在系统中所有的进程之间是共享CPU和主存内存资源的。当进程数量变多时,所需要的内存资源就会相应的增加。可能会导致部分程序没有主存空间可用。此外,由于资源是共享的,那么就有可能导致某个进程不小心写了另一个进程所使用的内存,进而导致程序运行不符合正常逻辑。为了更加有效的管理内存并少出错,现代系统提供了一种对主存的抽象的概念,叫做虚拟内存(VM)。虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文...原创 2020-03-30 15:43:55 · 5602 阅读 · 0 评论 -
同步阻塞I/O同步非阻塞I/O异步阻塞I/O异步非阻塞I/O
AIO 简介Linux 异步 I/O 是 Linux 内核中提供的一个相当新的增强。它是 2.6 版本内核的一个标准特性,但是我们在 2.4 版本内核的补丁中也可以找到它。AIO 背后的基本思想是允许进程发起很多 I/O 操作,而不用阻塞或等待任何操作完成。稍后或在接收到 I/O 操作完成的通知时,进程就可以检索 I/O 操作的结果。I/O 模型在深入介绍 AIO API 之前,让我们先来探...原创 2019-12-20 15:49:22 · 406 阅读 · 1 评论 -
操作系统多进程图像
多个进程使用CPU的图像如何使用CPU呢?让程序运行起来如何充分使用cpu呢?启动多个程序交替执行启动的程序就是进程,所以是多个进程推进操作系统只需要把这些进程记录好,要按照合理的次序推进(分配资源,进行调度)多进程图像从启动开始到关机结束main 中的fork()函数创建了第一个进程init执行启动shell等待用户指令shell在windows中就是用户桌面,在...原创 2019-12-10 15:29:01 · 407 阅读 · 0 评论