![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 90
莫言静好、
这个作者很懒,什么都没留下…
展开
-
操作系统之内存管理
一 基本概念前提:#1我们知道我们的代码是以可执行的文件保存在磁盘上#2 多道程序设计模型允许多个程序同时进入内存#3 每一个进程都有自己独立的地址空间,执行过程中是不能够访问另外的进程的地址空间#4 进程地址空间需要加载物理内存空间才可以被执行;如果是多道程序设计模型,那就是有多个进程都要进入物理内存。#5 进程运行前的地址不是物理地址,是逻辑地址;进程运行时候,被加载到内存之后的才是物理地址。1.1地址空间(Address Space)地址空间,就是地址范围或者地址集合,进程地址空间就原创 2021-04-17 23:34:28 · 1579 阅读 · 2 评论 -
操作系统之进程和线程
操作系统也是软件,区别于应用软件的最大特点具有进程管理、内存管理等功能。一 进程1.1 什么是进程(process)进程指的就是正在运行中的程序。进程也是有生命周期,当程序运行结束,则进程结束。如果程序没有运行呢?那就是代码。所以我们判断是不是进程的最主要区别就是看程序是否正在运行。1.2 进程分类1.2.1 按照运行在不同的态分为用户进程和系统进程第一:运行在用户态的进程就属于用户进程,一般是没有权限操作系统资源的第二:运行在内核态的进程就属于系统进程,一般是有权限操作系统资源的1.2.2原创 2021-04-17 17:58:54 · 915 阅读 · 0 评论 -
操作系统之磁盘管理
一 磁盘的物理地址1.1 磁盘的物理地址我们知道磁盘主要是包括盘片、机械臂和磁头组成的,一个盘片分为两面,每一面都可以进行读写。每一个盘面由磁道组成,每一个磁道由扇区组成,扇区是磁盘进行读写的最小单位。那如何对磁盘寻址呢?首先我们得知道是哪一个磁道,所以首先要把所有磁头都移到对应的磁道柱面上,用来确定磁道;然后根据盘面号决定存储在哪一个盘面上的,最后确定在这个盘面上的哪一个扇区,然后将磁头移到这个扇区,然后控制磁盘旋转,就可以读写数据。如图示:1.2 扇区和磁盘块的关系一个扇区以前一般是512字原创 2021-04-17 17:38:19 · 3152 阅读 · 0 评论 -
文件内存映射和传统I/O机制
一 页高速缓存(页缓存)?1.1 什么是页高速缓存(page cache)? 为什么需要页高速缓存?1.1.1 什么是页高速缓存?页高速缓存,也就是我们经常说的page cache,它是Linux操作系统实现的针对磁盘的一种缓存,通过把磁盘的数据缓存到物理内存,把对磁盘的访问转化为对物理内存的访问。页缓存可以减少内核对磁盘的I/O操作,提升I/O性能。1.1.2 为什么需要页高速缓存?1.1.2.1 内存和磁盘的速度差异因为读取内存的速度远快于读取磁盘的速度,所以从内存访问数据比从磁盘读数据快原创 2021-04-11 18:54:34 · 1375 阅读 · 1 评论 -
磁盘读写流程和网络读写流程
一 页缓存(page cache) 和 套接字缓冲区(socket buffer)1.1 页缓存(page cache)1.1.1 什么是页缓存? 为什么需要页缓存?当应用程序要读取磁盘上的文件的时候,首先需要CPU将磁盘上的文件内容拷贝到主存中,然后我们再从主存中读取文件内容。但是,我们知道从磁盘属于慢速设备,主存属于高速设备,从磁盘传输数据到主存是比较慢的,所以为了均衡这种速度差,就有了类似于CPU 高速缓存一样的东西,叫做页缓存。页缓存,它是利用主存的空闲部分来缓存一些数据块的,也就是页缓存中原创 2021-04-07 00:05:55 · 5755 阅读 · 1 评论 -
I/O控制器 和 DMA控制方式
一 IO控制器1.1 I/O控制器是什么IO设备主要包括机械部件和电子部件。磁盘、光盘、鼠标、键盘、显示器、打印机等都属于机械部件;磁盘控制器、显卡、网卡等属于电子部件。CPU是无法直接操作机械部件的,只能通过电子部件间接的控制。这些电子部件就叫做I/O控制器,和CPU、主存之间通过总线通信。如图示:1.2 I/O控制器有哪些功能和组成部分1.2.1 控制器功能第一:传输CPU指令,接收来自CPU的指令第二:缓冲和传输数据第三:选址的功能,根据地址获取本次需要参与I/O的设备第四:向CP原创 2021-04-05 11:22:32 · 5398 阅读 · 2 评论 -
操作系统之进程
操作系统也是软件,区别于应用软件的最大特点具有进程管理、内存管理等功能。一 进程1.1 什么是进程(process)进程指的就是正在运行中的程序。进程也是有生命周期,当程序运行结束,则进程结束。如果程序没有运行呢?那就是代码。所以我们判断是不是进程的最主要区别就是看程序是否正在运行。1.2 进程分类1.2.1 按照运行在不同的态分为用户进程和系统进程第一:运行在用户态的进程就属于用户进程,一般是没有权限操作系统资源的第二:运行在内核态的进程就属于系统进程,一般是有权限操作系统资源的1.2.2原创 2021-03-28 22:47:51 · 1936 阅读 · 0 评论