随笔分类 - 操作系统
1
摘要:块设备是系统中能够随机(不需要按顺序)访问固定大小数据片的硬件设备,像硬盘 字符设备是按照字符流的方式被有序访问,像键盘 IO调度程序 为什么需要IO调度程序:简单的以内核产生请求的次序直接请求的话,磁盘寻址的速度会很慢,性能会很低。IO调度程序会有一定的延迟,对调度队列进行调整 请求队列 一个关于
阅读全文
摘要:页高速缓存 页高速缓存是Linux实现磁盘缓存,由内存中的物理页面组成,内容对应磁盘上的物理块 作用:减少对磁盘的IO操作 实现:通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问 读操作:比如read。检查数据是否在页高速缓存,有则直接拷贝到进程地址空间;无则调度块IO操作从磁
阅读全文
摘要:VFS使得用户可以直接使用open,read,write这样的系统调用而无需考虑具体的文件系统和实际物理介质 四个主要的对象类型 超级块对象:代表一个具体的已安装的文件系统 索引节点inode对象:代表一个具体文件 目录项对象:代表一个目录项,是路径的一个组成部分 文件对象:代表由进程打开的文件 四
阅读全文
摘要:进程地址空间 进程地址空间就是允许进程使用的全部线性地址,用mm_struct内存描述符表示 内核线程使用前一个进程的内存描述符,mm字段为NULL,active_mm为前一个进程的active_mm;普通进程的mm和active_mm相同 几个重要字段: pgd:指向页目录 堆的起始和最后地址 用
阅读全文
摘要:页 内核用page结构体表示系统的每个物理页(页框),描述当前时刻在相关物理页存放的东西 flag:表示状态,包括是不是脏的、是否锁定在内存中 _count:页的引用计数 区(指物理内存,只和内核空间有关) Linux根据页的特性进行分组,划分为区,每个区使用自己的伙伴系统算法 ZONE_DMA:<
阅读全文
摘要:内存地址 逻辑地址:段+偏移量 线性地址:也称为虚拟地址,32位 物理地址:对真正存在的内存条进行寻址的地址 内存管理单元MMU: 分段单元:将逻辑地址转换成线性地址 分页单元:将线性地址转换成物理地址 硬件中的分段 段选择符和段寄存器 段选择符,16位字段 索引号 表指示器(GDT还是LDT) 请
阅读全文
摘要:每CPU变量 每CPU变量主要是数据结构的数组。系统的每个CPU对应数组的一个元素 一个CPU不应该访问其他CPU对应的数组元素 一个CPU可以随意读和修改自己的元素而不用担心出现竞争条件 原子操作 保证指令以原子方式执行——执行过程不被打断 若干汇编语言指令都具有“读-修改-写”类型 进行0次或1
阅读全文
摘要:承接已有博客 中断:异步中断,由其他硬件设备依照CPU时钟信号随机产生,比如间隔定时器和IO设备 异常:同步中断,当指令执行时由CPU控制单元产生的,即程序的错误产生的 中断描述符表IDT 和异常或中断向量相关联,映射向量对应的异常或中断处理程序的入口地址 如何找到IDT:IDT在保护模式下可以在内
阅读全文
摘要:API和系统调用的区别 都是函数 API提供用户态服务或者内核态服务 系统调用通过软中断进入内核态 API可能调用几个系统调用 系统调用也是一种API int指令 用户态进程发出int $0x80指令(老版本Linux中,从用户态切换到内核态的唯一方法) 系统调用号放入eax寄存器 根据idtr寄存
阅读全文
摘要:承接已有博客 task_struct 结构体内包含的几种重要信息 thread_info:进程的基本信息 mm_struct:指向内存区描述符的指针 fs_struct:当前目录 files_struct:指向文件描述符的指针 signal_struct:所接收的信号 pid:每个进程都有唯一的,内
阅读全文
摘要:重定位 逻辑地址(相对地址):用户程序经编译之后的每个目标模块都以0为基地址开始顺序编址 物理地址(绝对地址):内存中各物理存储单元的地址是从统一的基地址开始顺序编址 逻辑地址空间(地址空间):由程序中逻辑地址组成的地址范围 内存空间(物理空间或绝对空间):由内存中一系列存储单元所限定的地址范围 程
阅读全文
摘要:进程 进程的概念 进程是一个程序在某个数据集合的一次运行 程序: 静态的概念,属于单道程序系统中的概念 顺序性:程序所规定的每个动作都在上一个动作结束后才开始 封闭性:只有程序本身的动作才能改变程序运行的环境 可再现性:程序的执行结果和程序的执行速度无关 进程 动态的概念,属于多道程序系统中的概念
阅读全文
摘要:内部碎片 概念:一个分区内部出现的碎片(即被浪费的空间),不能被利用。(能明确指出属于哪个进程) 例子: 固定分区法中,当6KB的进程被分配了10KB的内存空间,就有4KB的内部碎片; 一个进程申请43KB的内存空间,某些处理器因为限制(比如其体系结构规定只能整除4、8、16),该进程被分配了44K
阅读全文
摘要:一、实验目的 了解什么是操作系统安全状态和不安全状态; 了解如何避免系统死锁; 理解银行家算法是一种最有代表性的避免死锁的算法,掌握其实现原理及实现过程。 二、实验内容 根据银行家算法的基本思想,编写和调试一个实现动态资源分配的模拟程序,并能够有效避免死锁的发生。 三、实验原理 进程申请资源时,系统
阅读全文
摘要:一、实验目的 了解虚拟存储技术的特点,掌握虚拟存储请求页式存储管理中几种基本页面置换算法的基本思想和实现过程,并比较它们的效率。 了解程序设计技术和内存泄露的原因 二、实验内容 模拟实现请求页式存储管理的几种基本页面置换算法 最佳淘汰算法(OPT) 先进先出的算法(FIFO) 最近最久未使用算法(L
阅读全文
摘要:题目 有一个仓库存放两种零件A和B,最大库存容量各为m个,有一车间不断取A和B进行装配,每次各取一个。为避免零件锈蚀,遵循先入库先出库原则,有两个供应商分别不断地供应A和B 。为保证齐套和合理库存,当某种零件的数量比另一种的数量超过n(n<m)个时,暂停对数量大的零件进货,集中补充数量少的零件。试用
阅读全文
摘要:两种基本的服务方式就是系统调用和系统程序,这是操作系统提供给用户的两种接口。 系统调用 操作系统提供给程序员的接口,是与用户程序之间的接口。 当用户程序调用了系统调用(比如read()函数),cpu就会从用户态转变为内核态。 系统程序 系统程序包,我们熟知的库函数,是系统提供的大量程序。 系统程序简
阅读全文
摘要:多道批处理系统 “多道” :在内存中存放多个作业,在外存中存放大量后备作业,由操作系统进行调度,在一台处理机上并发执行; “成批” :当操作系统在执行作业时,用户和计算机无法进行交互。 优点: 1. 系统资源利用率高; 2. 系统吞吐量大; 缺点: 1. 用户作业等待时间长; 2. 没有交互能力。
阅读全文
摘要:并发 并发性指的是两个或多个活动在同一给定时间间隔中进行; 共享 共享性指的是计算机系统资源被多个进程所共用; 异步性 异步性分两点: 1. 各程序执行过程走走停停,不可预知; 2. 同一程序在相同初始数据下,无论何时运行,结果都相同; 虚拟性(抽象性) 将复杂事情简单化,比如对硬件的抽象。实际例子
阅读全文
摘要:1. 作为虚拟机在裸机上覆盖软件,将复杂的底层抽象,实现硬件的拓展; 2. 作为资源管理器,实现对硬件软件资源的控制和管理; 3. 作为用户与计算机硬件之间的软件接口,方便用户使用。
阅读全文
1

浙公网安备 33010602011771号