随笔分类 - 计算机操作系统
摘要:文件目录 1、文件控制块 目录本身就是一种有结构文件,由一条条记录组成。每条记录对应一个在该目录下的文件 目录文件中的一条记录就是一个“文件控制块(FCB)” FCB的有序集合称为“文件目录”,一个FCB就是一个文件目录项。 FCB中包含了文件的基本信息(文件名、物理地址、逻辑结构、物理结构等),存
        阅读全文
                
摘要:1、文件的逻辑结构 所谓的“逻辑结构”,就是指在用户看来,文件内部的数据应该是如何组织起来的。而“物理结构”指的是在操作系统看来。文件的数据是如何存放在外存中的。 类似于数据结构的“逻辑结构”和“物理结构”。 如“线性表”就是一种逻辑结构,在用户角度看来,线性表就是一组有先后关系的元素序列,如: a
        阅读全文
                
摘要:1.文件管理 1.1一个文件有哪些属性? 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件。标识符:一个系统内的各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称。 类型:指明文件的类型 位置:文件存放的路径(让用户
        阅读全文
                
摘要:一、内存 1、内存的基础知识 1.1、什么是内存?有何作用? 内存是用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理。 **思考:**在多道程序环境下,系统中会有多个程序并发执行,也就是说会有多个程序的数据需要同时放到内存中。那么,如何区分各个程序的数据是放在什么地方呢? 方案:给内存
        阅读全文
                
摘要:死锁 什么是死锁 每个人都占有一个资源,同时又在等待另一个人手里的资源。发生“死锁”。 在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是“死锁”。发生死锁后若无外力干涉,这些进程都将无法向前推进。 死锁、饥饿、死循环的区别 死锁:各进程互
        阅读全文
                
摘要:管程 知识总览 为什么要引入管程 信号量机制存在的问题:编写程序困难、易出错 能不能设计一种机制,让程序员写程序时不需要再关注复杂的PV操作,让写代码更轻松呢? 1973年,Brinch Hansen首次在程序设计语言中引入了“管程”成分——一种高级同步机制 像这样如果写错了P操作的顺序,按①②③执
        阅读全文
                
摘要:哲学家进餐问题 问题描述 一张圆桌上坐着5名哲学家,每两个哲学家之间的桌子上摆着一根筷子,桌子的中间是一碗米饭。哲学家们倾注毕生精力用于思考和进餐,哲学家在思考时,并不影响他人。只有当哲学家饥饿时,才视图拿起左、右两根筷子(一根一根地拿起)。如果筷子已在他人之手,则需等待。饥饿的哲学家只有同时拿起两
        阅读全文
                
摘要:读者——写者问题 问题描述 有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据库时则可能导致数据不一致的错误。因此要求: 1. 允许多个读者可以同时对文件执行读操作 2. 只允许一个写者往文件中
        阅读全文
                
摘要:吸烟者问题 问题描述 假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要三种材料:烟草、纸和胶水。三个抽烟者中,第一个拥有烟草、第二个拥有纸、第三个拥有胶水。供应者进程无限地提供三种材料,供应者每次将两种材料放桌子上,拥有剩下那种材料的抽烟
        阅读全文
                
摘要:生产者消费者问题 问题描述 系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。 生产者、消费者共享一个初始为空、大小为n的缓冲区。 只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待。 只有缓冲区不空时,消费者才能从重取
        阅读全文
                
摘要:信号量机制 在双标志先检查法中,进入区的“检查”、“上限”操作无法一气呵成,从而导致了两个进程有可能同时进入临界区的问题。 所有的解决方案都无法实现“让权等待” 1965年,荷兰学者Dijkstra提出了一种卓有成效的实现进程互斥、同步的方法——信号量机制 信号量机制 用户进程可以通过使用操作系统提
        阅读全文
                
摘要:进程同步、进程互斥 什么是进程同步 知识点回顾:进程是具有异步性的。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进。 操作系统要提供进程同步机制来实现上述需求 读进程和写进程并发地运行,由于并发必然导致异步性,因此“写数据”和“读数据”两个操作执行的先后顺序是不确定的。而实际应用中
        阅读全文
                
摘要:调度算法 时间片轮转 常用于分时系统,更注重“响应时间”,因而此处不计算周转时间。 时间片为2 时间片为5 按照先来先服务调度算法 如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程响应时间。因此时间片不能太大。 	比如:系统中有1
        阅读全文
                
摘要:调度算法 饥饿:某进程/作业长期等不到服务 先来先服务 短作业优先 非抢占式 抢占式 对FCFS和SJF两种算法的思考 高响应比优先 FCFS算法是在每次调度的时候选择一个等待时间最长的作业(进程)为其服务。但没有考虑到作业的运行时间,因此导致了对短作业不友好的问题。 SJF算法是选择一个执行时间最
        阅读全文
                
摘要:调度算法的评价指标 CPU利用率 由于早期的CPU造价及其昂贵,因此人们会希望让CPU尽可能多地工作 CPU利用率:指CPU“忙碌”的时间占总时间的比例。 利用率=忙碌的时间/总时间 系统吞吐量 对于计算机来说,希望能用尽可能少的时间处理完尽可能多的时间 系统吞吐量:单位时间内完成作业的数量 系统吞
        阅读全文
                
摘要:进程调度的时机 切换与过程调度方式 进程调度的时机 进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进程为其分配处理机。 进程在操作系统内核程序临界区中不能进行调度与切换 临界资源:一个时间段内只允许一个进程使用的资源。各进程需要互斥地访问临界资源。 临界区:访问临界资源的那段代码 内核程
        阅读全文
                
摘要:处理机调度 概念和层次 调度的基本概念 当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是“调度”研究的问题。 在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。 调度的三个层次——高级调度 由于内存空
        阅读全文
                
摘要:线程概念 多线程模型 什么是线程,为什么要引入线程? 还没引入进程之间,系统中各个程序只能串行执行。 进程是程序性的一次执行,但是这写功能显然不可能是由一个程序顺序处理就能实现的。 有的进程可能需要“同时”做很多事,而传统的进程只能串行地执行一系列程序。为此,引入了“线程”,来增加并发度。 传统的进
        阅读全文
                
摘要:进程通信 知识总览 什么 进程通信? 顾名思义,进程通信就是指进程之间的信息交换。 进程是分配系统资源的单位(包括内存地址空间),因此各进程拥有的内存地址空间相互独立。 为了保证安全,一个进程不能直接访问另一个进程的地址空间。 但是进程之间的信息交换又是必须实现的。为了保证进程间的安全通信,操作系统
        阅读全文
                
摘要:进程的状态与转换 进程的状态 进程的状态——三种基本状态 进程是程序的一次执行,在这个执行过程中,有时进程正在被CPU处理,有时又需要等待CPU服务,可见,进程的状态是会有各种变化。为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态。 进程的状态——另外两种状态 进程状态的转换
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号