随笔分类 -  操作系统

死锁
摘要:死锁的定义: 一组进程中,每个进程都无限等待被该组中另一进程所占有的资源,因而永远无法得到的资源,这种现象称为进程死锁,这一组进程就称为死锁进程 死锁例子: 1车想通过ab区域,2车想通过bc区域,3车想通过cd区域,4车想通过da区域,如果没有引导将导致: 1车等待2车让出b区域,2车等待3车让出 阅读全文

posted @ 2017-07-29 22:56 chaunceyctx 阅读(552) 评论(0) 推荐(0)

I/O系统
摘要:I/O系统结构: I/O管理: 应用程序若想访问磁盘上文件,要多经过文件系统,之后通过I/O设备管理来对相应的硬件进行操作。 I/O设备管理包括: 逻辑I/O,设备驱动程序,中断服务程序 I/O设备特点: I/O性能经常成为系统性能的瓶颈 操作系统庞大复杂的原因之一:资源多、杂,并发,均来自I/O 阅读全文

posted @ 2017-07-28 22:20 chaunceyctx 阅读(1735) 评论(0) 推荐(0)

同步机制(下)
摘要:管程: 为什么引入: 信号量机制的不足,而且用PV操作编写程序困难 概念: 一个特殊的模块,由关于共享资源的数据结构及在其上操作的一组过程组成 上图即为管程,进程通过调用管程来实现对共享资源的操作,即进程只能通过调用管程中的过程来间接地访问管程中的数据结构 要求: 作为管程主要是为了同步机制: 1. 阅读全文

posted @ 2017-07-26 23:30 chaunceyctx 阅读(1252) 评论(0) 推荐(0)

同步机制(上)
摘要:进程特性: 并发: 1.进程的执行是间断性的(进程由于调度问题导致可能中间被打断) 2.进程的相对执行速度不可预测 共享:进程/线程之间的制约 不确定性:进程执行的结果与其执行的相对速度有关因此是不确定的 由于并发,进程可能会出现与时间有关的错误: 进程get,copy,put并发执行,f s t 阅读全文

posted @ 2017-07-25 23:05 chaunceyctx 阅读(580) 评论(0) 推荐(0)

处理器调度
摘要:U调度: 即按照一定的的调度算法从就绪队列中选择进程,把CPU使用权交给被选中进程 如果没有就绪队列中没有进程,系统会安排一个系统空闲进程(即什么也不做)或idle进程,目的就是让CPU不空闲 系统场景: N(N>=1)个进程处于就绪队列中,M(M>=1)个CPU给哪个进程分配哪个CPU?怎么分配? 阅读全文

posted @ 2017-07-24 22:51 chaunceyctx 阅读(1400) 评论(0) 推荐(0)

存储模型(下)
摘要:程序的局部性: 程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域 时间局部性一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时期内空间局部性当前指令和邻近的几条指令,当前访问的数据和邻近的几个数据都集中在一个较小区域内分支局部性一条跳转 阅读全文

posted @ 2017-07-20 23:18 chaunceyctx 阅读(1028) 评论(0) 推荐(0)

存储模型(上)
摘要:进程地址空间: 可以看到进程分成内核地址空间和用户地址空间(可能这就为什么trap要涉及到内核栈与用户栈的切换) 地址重定位: 原因:在进程运行之前因为不知道进程地址空间到底放到什么地方,所以无法计算出物理地址,所以需要地址重定位 逻辑地址(相对地址): 用户程序经过编译,汇编后形成的目标代码,目标 阅读全文

posted @ 2017-07-19 23:01 chaunceyctx 阅读(631) 评论(0) 推荐(0)

ucore实验一
摘要:1.1 同理ld也将.o文件整合成可执行文件bootblock,大小为488字节,但还是放入512字节扇区中,但是,而这些.o文件也是Makefile文件通过命令使用gcc把有关bootloader的.c文件编译生成 创建10000块扇区,每个扇区512字节,制成ucore.img虚拟磁盘 将boo 阅读全文

posted @ 2017-07-16 21:36 chaunceyctx 阅读(2670) 评论(0) 推荐(0)

进程/线程
摘要:并发环境: 一段时间间隔内,单处理器上有两个或两个以上程序同时处于开始但尚未结束状态(例如:进程A开始于进程B开始但未结束期间),并且次序不是事先确定的。 进程概念: 进程是具有独立功能的程序关于某个数据集合上的一次运行活动(将一个程序同时运行多次产生的多个进程是不一样的),是系统进行资源分配和调度 阅读全文

posted @ 2017-07-12 18:28 chaunceyctx 阅读(344) 评论(0) 推荐(0)

操作系统运行环境与运行机制(系统调用篇)
摘要:系统调用: 用户在编程是可以调用的操作系统功能(使CPU可以从用户态陷入内核态) 应用程序,C函数,API,和内核函数关系 系统调用和函数调用区别: 系统调用: INT,IRET指令用于系统调用,堆栈切换,特权级切换 函数调用: CALL,RET指令用于函数调用,不涉及堆栈切换和特权级改变 系统调用 阅读全文

posted @ 2017-07-10 22:27 chaunceyctx 阅读(752) 评论(0) 推荐(0)

操作系统运行环境与运行机制(中断篇)
摘要:处理器状态 CPU由运算器,控制器,一系列寄存器组成 其中寄存器主要有两类寄存器: 用户可见寄存器:高级语言编译器通过优化算法分配并使用之,以减少程序访问内存次数 控制和状态寄存器:用于控制处理器的操作,通常由OS代码使用 控制和状态寄存器作用: ①用于控制处理器操作 ②在某种特权级别下可以访问,修 阅读全文

posted @ 2017-07-10 17:23 chaunceyctx 阅读(1962) 评论(0) 推荐(1)

浅谈操作系统概念,作用,特性及分类
摘要:操作系统概念: 操作系统是计算机系统中的一个系统软件,是一些程序模块的集合 操作系统作用: 1.资源的管理者2.向用户提供各种服务3.对硬件机器的扩展 第1点中: 资源分配策略——算法 静态分配策略:把进程所有需要的资源先都分配给它,但这就导致了有些时候一些资源没有被该进程用到,这就导致了资源浪费问 阅读全文

posted @ 2017-07-09 21:09 chaunceyctx 阅读(1273) 评论(0) 推荐(0)

操作系统启动
摘要:最近跟着Coursera学习操作系统,所以借着博客记录下学习过程: 操作系统如何启动? 答:点电源键就好(逃 但是作为程序员应该要了解底层实现 知识点: ①涉及到代码执行相关寄存器:计算机一加电下CS(代码段寄存器) = 0xf000,IR (指令指针) = fff0 ②系统启动若在实模式下那么第一 阅读全文

posted @ 2017-07-09 16:43 chaunceyctx 阅读(410) 评论(0) 推荐(0)

文件系统(III)
摘要:文件系统的实现: 要注意磁盘上与内存中内容布局 名词: 磁盘分区:把一个物理磁盘存储空间划分成几个相互独立的部分称为分区 文件卷:磁盘上的逻辑分区,由一个或多个物理块(簇)组成,文件卷可以为整个磁盘或部分分区甚至几个磁盘(跨盘) 文件卷的几个区域: ①引导区(每卷一个) 可以从该区引导存在于该分区的 阅读全文

posted @ 2017-05-18 20:50 chaunceyctx 阅读(1205) 评论(0) 推荐(2)

文件系统(II)
摘要:接着上文,XDDD! FCB(File Control Block)文件控制块 目的:OS为了管理文件而设置的数据结构保存管理文件所需的所有有关信息(元数据或者文件属性),那么这些信息主要包含:文件名,文件大小,文件地址(文件内容在磁盘上怎么找到),创建时间,修改时间,最后访问时间,文件标识(只读、 阅读全文

posted @ 2017-05-16 23:39 chaunceyctx 阅读(549) 评论(0) 推荐(0)

文件系统(I)
摘要:文件: 文件是具有符号名在逻辑上具有完整意义的一组相关信息项序列。(进程是对内存的抽象,那么文件就是对磁盘的抽象) 符号名主要是文件名(用于标识文件),文件名还附加几个字符作为扩展名(用于标识文件特性) 信息项是构成文件内容的基本单位(但构成文件也可以是记录): 文件内容 ↑__ 读写指针(例如un 阅读全文

posted @ 2017-05-16 16:10 chaunceyctx 阅读(544) 评论(0) 推荐(0)

导航