随笔分类 - 操作系统
摘要:磁盘 构成 盘面:一般磁盘有多个盘片,一个盘片的正反两面有两个盘面 柱面:一个盘面上相同的一个圈,被称为磁道。所有盘面中相对位置,相同的磁道组成柱面 扇区:一个磁道被划分为多个扇区,一个扇区也被称为盘块 可用(柱面号,盘面号,扇区号)来定位任意一个“磁盘块” 如何读写数据 磁盘分类 磁盘调度算法 一
阅读全文
摘要:文件逻辑结构 按文件是否有结构分类,可以分为无结构文件、有结构文件两种 无结构文件:文件内部的数据就是一系列二进制流或字符流组成。又称“流式文件” 如Windows操作系统中的.txt文件 有结构文件:由一组相似的记录组成,又称“记录式文件”。每条记录由若千个数据项组成。一般来说,每条记录有一个数据
阅读全文
摘要:简介 内存适用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理 进程运行的原理--指令 例如:x=x+1的代码运行时内存地址的逻辑 可见,写的代码要翻译成CPU能识别的指令。这些指令会告诉CPU应该去内存的哪个地址存/取数据,这个数据应该做什么样的处理。在这个例子中,指令中直接给出了变量
阅读全文
摘要:简介 在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是死锁。发生死锁后若无外力干涉,这些进程都将无法向前推进 死锁、饥饿、死循环的区别 死锁产生的必要条件 互斥条件 不可剥夺条件 资源的占用并请求条件 循环等待条件 什么时候会产生死锁 临
阅读全文
摘要:简介 在信号量机制中,每个要访问临界资源的进程都必须自备同步的PV操作,大量分散的同步操作会给系统管理带来麻烦,且容易因为同步操作不当而导致系统死锁。于是便产生了一种新的进程同步工具——管程(Monitors) 管程(Monitors):是一个资源管理模块,其中包含了共享资源的数据结构,以及由对该共
阅读全文
摘要:简介 该问题描述的是五个哲学家共用一张圆桌,分别坐在周围的五张椅子上,在圆桌上五只筷子,他们是交替的进行思考和进餐。一个哲学家进行思考,饥饿时便试图取用其左右最靠近他的筷子,只有在他拿到两只筷子时才能进餐。进餐完毕,放下筷子继续思考 哲学家进餐问题是诸进程间竞争临界资源而导致死锁的典型例子 解决方式
阅读全文
摘要:简介 实现读者和写者问题是一个经典的并发程序设计问题,是经常出现的一种同步问题。所谓读者写者问题,是指保证一个写进程必须与其他进程互斥地访问共享对象的同步问题 因此要求: ①允许多个读者可以同时对文件执行读操作 ②只允许一个写者往文件中写信息 ③任一写者在完成写操作之前不允许其他读者或写者工作 ④写
阅读全文
摘要:简介 系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲器取出一个产品并使用(产品可以理解为某种数据) 生产者、消费者共享一个初始为空、大小为n的缓冲区 只要缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待--同步关系 只有缓冲区不空时,消费者才
阅读全文
摘要:前置知识 用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥、进程同步 信号量 信号量其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示系统中某种资源的数量,比如:系统中只有一台打印机,就可以设置一个初值为1的信号量 一对原语
阅读全文
摘要:进程的同步 进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个进程,这些进程需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系来源于它们之间的合作 比如进程A需要从缓冲区读取进程B产生的信息,当缓冲区为空时,进程B因为读取不到信息而被阻塞。而
阅读全文
摘要:调度算法 时间片轮转 常用于分时操作系统,更加注重“响应时间”,周转时间相比响应时间变得不那么重要了 时间片长短是不固定的。有的OS长,有的OS短,有的还会动态变化 实例分析如下 优先级调度 实例分析如下 多级反馈队列调度 实例分析如下
阅读全文
摘要:简介 低级调度(进程调度):根据某种算法,从就绪队列中选择某些进程分配处理机资源 进程调度的时机 需要进程调度与切换的情况 当前运行的进程主动放弃处理机 进程正常终止 运行过程中发生异常而终止 进程主动请求阻塞(如等待I/O) 当前运行的进程被动放弃处理机 分给进程的时间片用完 有更紧急的事需要处理
阅读全文
摘要:前言 在多道程序环境中,内存中存在多个进程,其数目通常是多于处理机数目的。不论是出于提高处理机利用率、优先执行某个进程、提高系统吞吐量还是作业周转时间,都需要能动态的将处理机分配给某个进程(就绪态)。因此,处理机调度成为OS中十分重要的一个功能 简介 处理机调度是指从就绪队列中按照一定的算法选择一个
阅读全文
摘要:简介 线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程间可以并发,进程内的各线程间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件) 引入线程后,进程只作为除CPU之外的系统资源的分配单元(如打印机、内存地
阅读全文
摘要:简介 进程是程序一次执行过程 进程组成 进程由程序段、数据段、程序控制块(PCB)组成 PCB (Process Control Block)被称作进程控制块,也是操作系统对进程进行控制与管理的唯一方式。PCB存放了有关进程的相关信息 操作系统是通过PCB来管理进程,因此PCB中应该包含操作系统对其
阅读全文
摘要:前置思维导图 简介 操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件 功能 操作系统作为系统资源的管理者(资源包括软件、硬件、文件等) 操
阅读全文