操作系统
文章平均质量分 69
起个名字都这么男
Stay hungry,Stay foolish!
展开
-
关于零拷贝的一些面试题
什么是零拷贝零拷贝是一种避免CPU,将数据从一块存储空间拷贝到另一块存储空间的技术。零拷贝技术能够提升应用程序的性能,使得这些应用程序可以更有效的利用系统资源。零拷贝有什么优点减少CPU拷贝次数,甚至不需要CPU拷贝,从而提升CPU执行效率减少内存的占用减少用户态到核心态之间的上下文切换次数零拷贝的实现原理不同的操作系统有不同的实现。这里只介绍Linux系统下的零拷贝实现基于sendfile实现的零拷贝基于mmap实现的零拷贝基于sendfile实现的零拷贝发出sendfi原创 2021-05-29 11:34:36 · 431 阅读 · 0 评论 -
用管程解决生产者消费者问题
生产者消费者问题系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。 生产者,消费者共享一个初始化为空,大小为n 的缓冲区。 如何使用信号量机制(P、V操作)实现生产者、消费者进程的这些功能呢? 信号量机制可实现互斥、同步、对一类系统资源的申请和释放。对于信号量可以看这篇信号量机制使用信号量解决生产者消费者问题生产者、消费者共享一个初始为空、大小为n的缓冲区。只有缓冲区没满的时候,生产者才能把产品放入缓冲区,否则必须等待。只有原创 2020-07-29 23:00:45 · 4076 阅读 · 1 评论 -
操作系统-信号量机制
整型信号量,记录型信号量,以及用信号量实现进程的互斥与同步原创 2020-07-29 22:59:44 · 853 阅读 · 0 评论 -
线程与多线程模型
线程的引入,线程的定义,线程实现方式,多线程模型,一对一,一对多,多对多。。。原创 2020-07-29 22:52:17 · 575 阅读 · 0 评论 -
进程控制、进程间通信、进程调度
进程控制与进程间通信,共享内存,消息传递,管道通信,进程在创建和结束的时候到底发生了什么?原创 2020-07-29 22:48:55 · 1231 阅读 · 0 评论 -
操作系统-1w字关于内存的总结
内存的基本概念什么是内存,有何作用内存是用于存放数据的硬件。程序执行前需要先放入内存中才能被CPU处理存储单元内存中也有一个一个的小房间,每个小房间就是一个存储单元。如果计算机按照 字节编址,则每个存储单元的大小为1个字节,即1B,即8个二进制位。如果字长为16位的计算机按字编址,则每个存储单元的大小为一个字;每个字的大小是一个16位的二进制,也就是俩字节。内存地址内存地址就是对存储单元编号,每个内存地址对应一个存储单元。进程运行的基本原理其实我们使用高级语言写的代码需要翻译成CPU能识原创 2020-07-29 22:36:43 · 3258 阅读 · 0 评论 -
操作系统-文件的结构以及文件管理
文件的管理,文件的结构有哪几种,文件类型,文件属性,文件常用的几种操作你都了解多少?原创 2020-07-29 22:21:48 · 4264 阅读 · 0 评论 -
单缓冲、双缓冲、循环缓冲
缓冲区管理什么是缓冲区?有什么作用?缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可以利用内存作为缓冲区。使用硬件作为缓冲区的成本较高,容量也较小,一般仅用在对速度非常高的场合(存储器管理寄存器,有对页表访问的频率较高,因此使用速度很快的联想寄存器 来存放页表项的副本)一般情况下更多的是使用内存作为缓冲区,“设备独立性软件”的缓冲区就是要组织管理好这些缓冲区。缓冲区的作用缓和CPU和IO设备之间速度不匹配矛盾。减少对CPU的中断频率,放宽对CPU中断相应的时间限制解决数据粒度不匹配的原创 2020-05-25 21:49:34 · 7338 阅读 · 0 评论 -
操作系统-设备的分配与回收
设备的分配与回收设备分配时应考虑的因素设备的固有属性设备的分配算法设备分配中的安全性设备的固有属性可分为三种:独占式设备、共享式设备、虚拟设备。独占式设备:一个时间段只能分配给一个进程共享式设备:可同时分配给多个进程使用,各个进程往往是宏观上同时共享使用设备,微观上交替使用。虚拟设备:采用假脱机技术将独占式设备改造成虚拟共享设备,可同时分配给多个进程使用。设备分配算法:先来先服务算法、短作业优先算法,优先级高优先算法等。从进程运行的安全性上考虑,设备分配有两种方式:安全分配方原创 2020-05-25 21:36:21 · 2943 阅读 · 0 评论 -
操作系统的磁盘结构、磁盘管理、磁盘调度算法
磁盘结构磁盘、磁道、扇区盘面:一个磁盘有多个盘面磁道:盘面上的圆形带状区域,一个盘面有多个磁道扇区:磁道上的一个弧段,一个磁道可以有多个扇区,他是最小的物理单位,目前主要有512字节与4k大小;磁头:与盘面非常接近,能够在盘面上的磁场转换成电信号(读),或者将电信号转换成盘面的磁信号(写);制动手臂:用于磁道之间移动磁头主轴:使整个盘面转动磁盘的分类磁盘根据磁头是否可以移动分...原创 2020-05-08 16:50:01 · 964 阅读 · 0 评论 -
IO软件层次结构与假脱机技术
IO软件层次结构用户层软件->设备独立性软件->设备驱动软件->中断处理程序->硬件用户层软件实现与用户交互的接口,用户可直接使用该层提供的,与IO操作相关的库函数对设备进行操作。用户层软件将用户请求翻译成格式化的IO请求,并通过系统调用请求操作系统内核的服务。设备独立性软件又称为设备无关性软件。他向用户软件层提供系统调用接口,设备的保护,差错处理,设...原创 2020-04-28 13:15:35 · 926 阅读 · 0 评论 -
了解一下IO控制器与控制方式
IO控制器CPU无法直接控制IO设备的机械部件,因此IO设备还要有个电子部件作为CPU和IO设备机械部件之间的“中介”,用于实现CPU对设备的控制。这个电子部件就是IO控制器,又称为设备控制器。CPU可控制IO控制器,IO控制器来控制设备的机械部件。IO控制器的功能接收设备CPU指令:CPU的读写指令和参数存储在控制寄存器中向CPU报告设备的状态:IO控制器中会有相应的状态寄存器,用于...原创 2020-04-23 16:22:33 · 10373 阅读 · 1 评论 -
进程的同步与互斥
回顾进程具有异步性,异步性是指,各个并发执行的进程以各自独立的、不可预知的速度向前推进。进程的同步同步也称直接制约关系,他是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调他们的工作次序而产生的制约关系。进程间的制约关系就是源于他们之间的相互合作。例如:之前讲到的管道通信,写进程将所有的数据写入到管道,写完后,读进程才能读取;在写数据和读数据两个操作执行的先后顺序是...原创 2020-04-09 14:43:43 · 760 阅读 · 0 评论 -
预防死锁,检测死锁,避免死锁,解除死锁....
什么是死锁在并发环境下,各个进程因竞争资源而造成的一种互相等待对方手里的资源,导致各个进程都阻塞,都无法向前推进的现象就是死锁。发生死锁后如果没有外力干涉就会导致任务无法向前推进。进程死锁、饥饿、死循环的区别死锁:各个进程互相等待对方手里的资源,导致个进程都阻塞,无法向前推进的现象。饥饿:由于长期得不到想要的资源,某进程无法向前推进的现象。比如在短进程优先算法中,如果有源源不断的短进程进入...原创 2020-04-09 14:31:46 · 7430 阅读 · 1 评论 -
常见的几种进程调度算法
操作系统进程的调度算法先来先服务(FCFS)算法思想:主要从“公平”的角度考虑(类似于我们生活中排队买东西的例子)算法规则:按照作业/进程到达的先后顺序进行服务用于作业/进程调度: 是否可抢占:非抢占的算法优缺点:优点:公平、算法实现简单;缺点:排在长作业后面的短作业需要等待很长时间,带权周转时间很大,对短作业来说体验很不好。 是否会导致饥饿:不会短作业优先(SJF)...原创 2020-04-06 18:22:33 · 2230 阅读 · 0 评论 -
操作系统-进程的状态以及转换
进程的引入程序:就是一个指令序列早起的计算机(只支持单道程序)内存中把一个应用程序分为程序段和数据段,这个应用程序在运行期间占据内存,IO设备,CPU,所以这浪费的资源较大。在引入多道批处理后,内存中可以放多个程序,各个程序的代码段和数据段都不相同,操作系统是怎样找到各个程序存放的位置呢?为了方便操作系统管理各个程序并发执行,引入了进程,进程实体的概念,系统在执行一个程序之前,会为每个程序...原创 2020-03-27 11:04:27 · 629 阅读 · 0 评论 -
中断、异常、系统调用
中断机制的诞生还是之前计算机只能一个一个的处理作业,CPU资源利用率低下,为了解决这个问题,人们发明了操作系统,引入中断机制,实现了多道程序并发执行。本质:发生中断就意味着需要操作系统的介入,开展管理工作。中断的概念和作用当中断发生时,CPU立即进入核心态当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理。对于不同的中断信号,会进行不同的处理发生了中断,就意味着...原创 2020-03-26 11:55:15 · 1644 阅读 · 4 评论 -
操作系统的指令与体系结构
指令指令和代码的关系:一条高级语言编写的语句被翻译成机器语言指令可能会有多条,简单来说,指令就是CPU能够识别并执行的基本命令。指令分为特权指令和非特权指令;特权指令:就是不允许用户使用的指令,这些指令可能执行后的结果对其他用户影响较大,例如内存清0;非特权指令:用户可以轻易使用的指令,如加减乘除运算指令。CPU值如何判断当前指令是否可以执行特权指令?应为处理器分为两种状态,一个被称为...原创 2020-03-26 11:37:14 · 481 阅读 · 0 评论 -
计算机操作系统-概述
计算机操作系统概述概念操作系统(英语:Operating System,缩写:OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。操作系统作为系统资源的管理者需要具备哪些功能文件管理,设备管理,内存管理,处...原创 2020-03-25 11:24:29 · 1302 阅读 · 0 评论