随笔分类 - 操作系统
1
摘要:前提 一个中缀表达式可以对应多个后缀表达式,机器算法得出的是性质最好的左优先的后缀表示式。 算法核心思想 1、一切过程皆是数据。 2、一个中缀表达式的操作数,左右两边都各有一个符号,这个数要么先参与左边的符号运算,要么先参与右边的符号运算,具体视优先级情况而定。 3、中缀表达式的界定符,即括号,规定
阅读全文
摘要:是什么 可重入就是,一个函数没有执行完成,由于外部因素或内部调用,又一次进入该函数执行。 为什么出现这个概念 可重入代码必须保证资源的互不影响的使用,比如全局变量,系统资源等。 比如有个全局变量i,有段代码要对i++,那么进程ABC并发调用的话,程序结果是不可确定的。 所以我们称一种好的代码叫做可重
阅读全文
摘要:引导过程: 1、激活CPU,CPU通电,读取ROM中的boot程序,将指令寄存器置为BIOS的第一条指令,即可开始执行BIOS的指令。(boot程序来自操作系统) 2、BOS程序进行硬件自检。检查硬件是否故障。有故障主板发出蜂鸣启动中止。没有故障屏幕显示CPU内存硬盘信息。 3、加载带有操作系统的硬
阅读全文
摘要:总体区别 微内核啥都好就是不好用,效率太低。 宏内核没啥好的就是运行快,宏内核凭借这一点杀死了比赛取得了压倒性的胜利。 补充: 微内核更加支持分布式运算 微内核在实时、工业、航空及军事应用中特别流行,这些领域都是关键任务,需要有高度的可靠性和安全性。 微内核具有更好的可移植性。 微内核功能 1、进程
阅读全文
摘要:是什么 是指计算机CMOS中一个芯片晶片中由电池供电,用于计时,而另一个芯片则根据实时时钟提供的时间定期向CPU引脚发送中断信号的中断。 有什么用 分时操作系统的CPU时间会分为多个时间片。多进程并发需要硬件中断交替运行,中断服务程序里面涉及计时,有点像时间片方法。 系统定时器以某种频率自行触发时钟
阅读全文
摘要:故事背景:爸爸让小明玩手枪,但是小明很可能会乱打手枪,打死真人直接蹲橘子,所以爸爸就给枪设置了一个权限,每当小明面对真人扣动扳机的时候,就会有一个吃了蓝色药丸的枪之恶魔从枪管子里伸出来狠狠的捅小明的皮燕子。 故事解读:CPU指令集也有很多不能随便用的东西,所以操作系统划分了权限,给不同权限开放不同的
阅读全文
摘要:linux kernal note 内核体系结构 内核由五个模块构成 进程调度模块(核心) 内存管理模块 文件系统模块 进程间通信模块 网络接口模块 内存管理 内存条分区 内存分为以下几个功能模块:从前到后为内核模块、高速缓存区(包含显存和BIOS ROM)、虚拟盘、主内存区。linux分页分段管理
阅读全文
摘要:中断向量是操作系统引导boot时加载进内存的一段数据。 本质上是一个数据表格,里面存放了各种不同类型的中断的入口地址。 由于CPU随时都可能检测到中断信息,也就是说,CPU随时都可能执行中断处理程序,所以中断处理程序必须一直存储在内存某段空间之中。 而中断处理程序的入口地址,即中断向量,必须存储在对
阅读全文
摘要:内核态 也叫内核空间,是内核进程/线程所在的区域。主要负责运行系统、硬件交互 内核态运行的代码不受任何限制,CPU可以执行任何指令。 用户态 也叫用户空间,是用户进程/线程所在的区域。主要用于执行用户程序。 运行的代码需要收到CPU的很多检查,不能直接访问内核数据和程序,也就是说不可以像内核态线程一
阅读全文
摘要:出现背景 RAID(独立冗余磁盘阵列)是指将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。 一句话总结就是垃圾佬的游戏 分级标准 RAID0:无冗余和无校验的磁盘阵列 RAID1:镜像磁盘阵列 RAID2:采用纠错的海明码的磁盘
阅读全文
摘要:出现背景 一个进程运行时要有输入和输出和其他的,输入就是写内存,输出就是读内存到IO设备,把这段写或读的内存叫做文件,所以就把一切IO设备都虚拟化为了一个文件,也就是一段内存空间。 那么进程有多个输入和输出,如何管理呢?那就给每个进程分配一个files数组,里面包含各个文件,以及这些文件是输入还是输
阅读全文
摘要:综述 抛开操作系统,计算机组成原理,数据结构,计算机网络这种划分方法。计算机知识只有两种,第一种是硬件的逻辑结构,第二种是以lamda演算为核心的算法。有时候我们要将两者结合起来,针对特定机器结构设定算法。但是总体来说,我们似乎很少在教科书或课堂学习上完全将这两种截然不同的知识进行分开总结归纳。这样
阅读全文
摘要:背景 阻塞和就绪机制的出现:进程调度的原始状态很简单,就是选定一个进程让CPU去执行,但是会出现一个问题,有的进程需要一些资源无法满足的时候或者有突然的IO操作就要等待,CPU和它一起等待,这可太折磨人了,让CPU的效率降低非常多,但是谁也不知道哪些进程会阻塞什么的,所以我们将进程分为两类,好的(就
阅读全文
摘要:磁盘组成 磁盘表面上看是一堆盘,一堆可以共同伸缩的磁头组成的。 首先可以分为不同的盘,每个盘的两面都可能存储数据。 然后在一个盘面内画同心圆,每个圆环叫做磁道,这是二级划分。 然后像切蛋糕一样把磁盘切成好几块,每块叫做一个扇区,每块和圆环的交线构成了一条块磁盘块,这是最小单位,每个单位存储数据大小相
阅读全文
摘要:死锁问题的本质 死锁是一种高级的占着茅坑不拉屎问题,一般的茅坑拉屎问题,如页面置换,Cache置换等,基本上都是多个对象竞争一个资源。死锁问题是多个对象竞争多个资源,并且满足互斥访问,不剥夺条件,请求并保持(这些条件是提升效率和利用工作器件的非常好的方法,不好删除条件)时就会发生相互等待,无法推进的
阅读全文
摘要:导言 在计算机的算法中,操作系统和组成原理中,我们会发现一种通用问题模式,叫做有限的坑位分配给谁的问题,更通用的说法是顺序问题,本质是一个先来后到排序的rank问题,更本质是一个动态规划的函数映射确定问题。比如进程运行排队,磁盘访问调度,内存页面换算,IO设备等。本文旨在对所有茅坑拉屎问题做一个综述
阅读全文
摘要:PATH:负责运行时找到对应的程序,体现在win+R框里或者cmd命令行中。 JAVA_HOME:一个无用变量,最大的作用是协助PATH变量达到更改jdk路径的灵活性。 CLASSPATH:java专属的环境变量,用于提供给JVM必要的路径信息。指定程序中使用的.class文件的位置,我们在编写程序
阅读全文
摘要:Linux的文件类型和文件名没有任何关系,文件类型并不靠扩展名来区分。文件属性是可以查看的信息,决定了文件的类别。 文件类型 1、普通文件类型 包括纯文本文件,二进制文件,数据格式的文件,各种压缩文件。第一个属性为[-] 2、目录文件类型 就是目录,第一个属性为[d] 3、字符设备文件 串行端口的接
阅读全文
1