![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 87
timely rainfall
这个作者很懒,什么都没留下…
展开
-
操作系统-----I/O设备
对外提供的接口可以分为三种,字符设备接口(用于操作一次I/O操作中以字符为单位传输数据的设备,如鼠标,键盘),块设备接口(用于操作一次I/O操作中以块为单位传输数据的设备,如u盘,硬盘),网络设备接口(用于操作网卡完成主机间的数据通信)。因为不同的设备由不同的构造,寄存器的个数和功能也是不一样的。在DMA的方式中一次I/O操作传输的数据是以块为单位的,但是读取时还是一个字节一个字节读取的,只是cpu只发起了一次I/O操作,并且块的大小是可以改变的,如果是字符设备那么块的大小就会设置为字符大小。原创 2023-08-01 14:50:26 · 878 阅读 · 0 评论 -
操作系统-----文件管理
总的来说文件的逻辑结构是从用户角度上看的,是对逻辑空间的操作,而文件的物理结构是从操作系统的角度上看的,是对物理空间的操作也就是如何给文件分配物理空间的问题。而目录储存的是目录文件,目录文件就是一张记录了储存在目录中的其它目录数据或则是文件数据的表格,而目录文件中的每一项称为文件控制块(FCB)。当你双击打开一个目录下的文件时,操作回去当前目录所对应的目录文件中根据文件名进行查找对应的文件控制块,之后根据文件控制块记录的外存块号找到相应的数据,如果打开的是目录则找到的就是目录文件。原创 2023-08-01 14:49:29 · 387 阅读 · 0 评论 -
操作系统------进程同步和进程互斥
信号量机制实现进程同步:使用记录型信号量机制可以实现进程同步,先为想要实现进程同步的两个进程创建一个记录型信号量并把资源量设为0,之后在想要后执行的进程的那部分代码前加上一个P(s)操作,在想要先执行的进程的那部分代码后加上V(s)操作即可实现进程同步。原理是一开始的资源量为0,这就导致如果先执行需要后执行的进程里的P(s)操作的话会因为资源量进行减一操作后变为负数,从而使得进程陷入阻塞态只有等到需要先执行的进程执行V(s)操作释放资源后才能使进程变为就绪态重新运行。而进程同步是规定了进程之间的执行顺序。原创 2023-06-26 20:02:09 · 1203 阅读 · 1 评论 -
操作系统-----进程和线程
而需要接收数据的进程只需要调用接收原语并指明发送进程的pid,操作系统就会在该进程的pcb中的消息队列中找到对应发送进程发送的数据并把它复制到进程的存储空间中。基于存储区共享是指操作系统会在内存中划分出一片共享存储区,该区域所有的进程都能够访问,需要进行通信的进程只需要把数据写入共享存储区当中等待另外的进程访问即可,并且存放在共享存储区中的那个位置和存放的数据形式都由通信的进程所决定而不是由操作系统决定,另外需要注意的是该共享存储区的访问属于互斥访问需要使用p,v操作进行。:程序的一次执行过程。原创 2023-06-25 00:25:09 · 72 阅读 · 0 评论 -
操作系统-----系统的概念
一般来说应用程序无法直接操作任何的硬件资源,因为这些指令基本都运行在内核态,如果应用程序想要操控硬件干某些事情只能通过系统调用的方式调用内核程序同时指明想要做的事情比如在屏幕上输出文本又或者操作扬声器播放声音,之后内核程序接收到这些参数后会调用相应的设备驱动程序(用来操作对应硬件的程序,一般由生产设备的厂家提供)去完成这些操作。虚拟机有两种类型第一种是直接运行在硬件上,此时的虚拟机程序直接管理硬件资源它运行在内核态,在虚拟机之上在运行操作系统而此时的操作系统是运行在用户态。原创 2023-06-23 18:17:24 · 208 阅读 · 1 评论 -
操作系统-----内存
为什么要有内存?如果cpu是直接读取外存的数据,那么cpu的处理速度和读取速度会严重不匹配,外存拖累了cpu。而内存的读写速度是外存的几百倍所以需要把外存的程序装入到内存中,cpu直接读取内存数据。操作系统管理内存的方式有四种分别是管理内存的分配与回收,内存空间的扩充(采用虚拟化技术),地址转换,存储保护。 内存是由一个个存储单元组成,一般来说每一个存储单元存储一个字节的数据,每一个存储单元都有一个地址称为物理地址,就拿4GB的内存来说共有2^32个存储单元也就是说地址需要32位二进制来表示。当操作系统创建原创 2023-06-19 23:30:09 · 721 阅读 · 0 评论 -
操作系统-----调度
拥有抢占式和非抢占式两个版本,抢占式:当有新的进程加入就绪队列或者有进程执行完毕让出cpu资源时执行该算法,如果是让出cpu资源的情况选择就绪队列中执行时间最短的上cpu运行,如果是有新进程加入的情况把该进程的执行时间和当前正在运行的进程的剩余执行时间进行对比,如果小于则操作系统会强制剥夺该进程的cpu使用权并分配给刚加入的进程。优先级调度算法(RR):操作系统根据各个进程的优先级的高低决定那个进程获得cpu资源,优先级由优先数决定,优先数和优先级的对应关系取决于操作系统的设置。优点:实现简单,公平。原创 2023-05-31 23:02:17 · 1407 阅读 · 1 评论 -
操作系统----死锁
在银行家算法中定义了几个数组用来记录数据,max数组用来记录进程告知操作系统的最大请求的资源数,Allcation数组用来记录进程已被分配的资源数,need数组记录进程还需要的资源数,request数组记录本次进程请求的资源数,available记录操作系统还能分配的资源数。按照这种方式就无法形成资源等待环导致所有进程发生死锁,假设有两个进程都申请了一个资源,那这两个资源的编号肯定有小有大,小号资源的进程能等待大号的资源但是大号资源无法回过头等待小号资源所以避免了死锁问题。:1.实现起来比较复杂。原创 2023-05-27 16:17:46 · 293 阅读 · 1 评论