操作系统
新是一切的根源
人生天地间 忽如远行客
展开
-
一文明白磁盘容错Raid0、Raid1、Raid5、Raid6以及Raid10、软Raid与硬raid
Raid0(独立磁盘冗余阵列)(1)必须使用两块或两块以上硬盘组成(2)每块硬盘的大小必须一致(3)是所有动态磁盘中,数据读写最快的(4)损坏几率相对最高(5)没有磁盘容错功能Raid1(1)由两块或2的倍数硬盘组成(2)每块硬盘大小必须一致(3)磁盘使用率只有50%,写入速度最慢(4)拥有磁盘容错功能Raid5(1)由三块或三块以上硬盘组成(2)每块磁盘大小必须一...原创 2020-03-10 14:10:42 · 6317 阅读 · 0 评论 -
彻底理解CPU Load
我们经常去看Linux的平均负载。通过uptime或者top命令就可以显示出,平均负载的内容如下:load average: 0.09, 0.05, 0.01大多数人都对平均负载有所了解:三个数字分别代表了一分钟,五分钟和十五分钟三个时间段内的CPU负载的平均值,而数字越低越好。数字越高表示系统出现了问题或机器过载。但是负载值多少才最合适?谁也说不清楚。首先,我们从最简单的单核处理器的系...原创 2020-02-27 20:01:32 · 1238 阅读 · 0 评论 -
进程间通信方式
进程间通信(IPC)介绍进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:它...原创 2020-02-27 19:21:39 · 204 阅读 · 0 评论 -
进程和线程的主要区别
根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多个线程同时执行(通过C...原创 2020-02-27 18:49:50 · 533 阅读 · 0 评论 -
虚拟内存
1. 局部性原理时间局部性:如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行:如果某个数据被访问过,不久之后该数据很可能再次被访问。(因为程序中存 在大量的循环)空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问。(因为很多数据在内存中都是连续存放的,并且程序的指令也是顺序地在内存中存放的)如何应用局部性原理?高速缓冲技术的思想:将近期会频繁...原创 2020-02-25 11:52:54 · 156 阅读 · 0 评论 -
基本分段存储管理方式
1. 分段进程的地址空间:按照程序自身的逻辑关系划分为若干个段,每个段都有一个段名( 在低级语言中,程序员使用段名来编程),每段从0开始编址内存分配规则:以段为单位进行分配,每个段在内存中占据连续空间,但各段之间可以不相邻。2. 分段、分页管理的对比页是信息的物理单位。分页的主要目的是为了实现离散分配,提高内存利用率。分页仅是系统管理上的需要,完全是系统行为,对用户是不可见的。段是信息...原创 2020-02-25 11:40:29 · 2322 阅读 · 0 评论 -
基本分页存储管理
1. 内存空间的分配与回收连续分配:为用户进程分配的必须是一个连续的内存空间。非连续分配:为用户进程分配的可以是一些分散的内存空间。2. 非连续分配假设进程A大小为23MB,但是每个分区大小只有10MB,如果进程只能占用一个分区,那显然放不下。解决思路:如果允许进程占用多个分区,那么可以把进程拆分成10MB+10MB+3MB三个部分,再把这三个部分分别放到三个分区中(这些分区不要求连续...原创 2020-02-25 11:27:29 · 1079 阅读 · 0 评论 -
覆盖与交换
1. 内存管理的概念2. 覆盖技术早期的计算机内存很小,比如IBM推出的第一 台PC机最大只支持1MB大小的内存。因此经常会出现内存大小不够的情况。后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题覆盖技术的思想:将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。内存中分为一个“固定区”和若干个“覆盖区”。需要常驻内存的段放在“固定区”中,调...原创 2020-02-24 14:18:10 · 559 阅读 · 1 评论 -
内存的基础知识
1. 内存的基础知识2. 什么是内存,有何作用内存是用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理。思考:在多道程序环境下,系统中会有多个程序并发执行,也就是说会有多个程序的数据需要同时放到内存中。那么,如何区分各个程序的数据是放在什么地方的呢?方案:给内存的存储单元编地址内存地址从0开始,每个地址对应一个存储单元内存中也有一个一个的“小房间”,每个小房间就是一个“...原创 2020-02-24 13:41:58 · 11796 阅读 · 1 评论 -
死锁的处理策略之检测和解除
1. 死锁的处理如果系统中既不采取预防死锁的措施,也不采取避免死锁的措施,系统就很可能发生死锁。在这种情况下,系统应当提供两个算法:①死锁检测算法:用于检测系统状态,以确定系统中是否发生了死锁。②死锁解除算法:当认定系统中已经发生了死锁,利用该算法可将系统从死锁状态中解脱出来。2. 死锁的检测为了能对系统是否已发生了死锁进行检测,必须:①用某种数据结构来保存资源的请求和分配信息:②...原创 2020-02-23 16:09:15 · 2251 阅读 · 1 评论 -
死锁的处理策略之避免死锁
1. 死锁的处理2. 安全序列、不安全状态、死锁的联系所谓安全序列,就是指如果系统按照这种序列分配资源,则每个进程都能顺利完成。只要能找出一个安全序列,系统就是安全状态。当然,安全序列可能有多个。如果分配了资源之后,系统中找不出任何一个安全序列,系统就进入了不安全状态。这就意味着之后可能所有进程都无法顺利的执行下去。当然,如果有进程提前归还了一些资源,那系统也有可能重新回到安全状态,不过...原创 2020-02-23 15:09:26 · 1555 阅读 · 0 评论 -
死锁的处理策略之预防死锁
1. 破坏互斥条件互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁。如果把只能互斥使用的资源改造为允许共享使用,则系统不会进入死锁状态。比如: spooLing技术。操作系统可以采用SPOOLing技术把独占设备在逻辑上改造成共享设备。比如,用SPOOLing技 术将打印机改造为共享设备。该策略的缺点:并不是所有的资源都可以改造成可共享使用的资源。并且为了系统安全,很多地方还必须保护...原创 2020-02-23 14:55:40 · 1967 阅读 · 0 评论 -
死锁的概念
1. 知识总览什么是死锁进程死锁、饥饿、死循环的区别死锁产生的必要条件什么时候会发生死锁死锁的处理策略2. 什么是死锁在并发环境下,各进程因竞争资源而造成的一种互相等待对方手里的资源,导致各进程都阻塞,都无法向前推进的现象,就是“死锁发生死锁后若无外力干涉,这些进程都将无法向前推进3. 死锁、饥饿、死循环的区别死锁:各进程互相等待对方手里的资源,导致各进程都阻塞,无法向前推进...原创 2020-02-22 11:54:03 · 210 阅读 · 0 评论 -
进程同步与进程互斥
1. 知识一览同步、互斥问题(1)什么是进程同步(2)什么是进程互斥2.什么是进程同步进程具有异步性的特征。异步性是指,各并发执行的进程以各自独立的、不可预知的速度向前推进。再看另一个例子:进程通信--------管道通信读进程和写进程并发地运行,由于并发必然导致异步性,因此“写数据"和“读数据”两个操作执行的先后顺序是不确定的。而实际应用中,又必须按照“写数据≥读数据”的顺序来执...原创 2020-02-18 18:35:39 · 5783 阅读 · 1 评论 -
调度算法(时间片轮转 优先级调度 多级反馈队列)
1. 知识总览调度算法(1)时间片轮转调度算法(RR)(2)优先级调度算法(3)多级反馈队列调度算法Tips:各种调度算法的学习思路1.算法思想2.算法规则3.这种调度算法是用于作业调度还是进程调度?4.抢占式?非抢占式?5.优点和缺点6.是否会导致饥饿2.时间片轮转调度算法(RR)(1)算法思想公平地、轮流地为各个进程服务,让每个进程在一-定时间间隔内都可以得到响应...原创 2020-02-17 20:16:40 · 22410 阅读 · 3 评论 -
调度算法(先来先服务 最短作业优先 最高响应比优先)
1. 先来先服务(FCFS, First Come First Serve)(1)算法思想主要从“公平”的角度考虑(类似于我们生活中排队买东西的例子)(2)算法规则按照作业/进程到达的先后顺序进行服务(3)用于作业/进程调度用于作业调度时,考虑的是哪个作业先到达后备队列;用于进程调度时,考虑的是哪个进程先到达就绪队列(4)是否可抢占?非抢占式的算法(5)优缺点优点:公平、算法实...原创 2020-02-11 13:08:49 · 34339 阅读 · 7 评论 -
调度算法的评价指标
1.知识总览2. CPU利用率由于早期的CPU造价极其昂贵,因此人们会希望让CPU尽可能多地工作CPU利用率:指CPU“忙碌”的时间占总时间的比例。利用率=忙碌的时间/总时间Eg:某计算机只支持单道程序,某个作业刚开始需要在CPU上运行5秒,再用打印机打印输出5秒,之后再执行5秒,才能结束。在此过程中,CPU利用率、打印机利用率分别是多少?CPU利用率=5+5/5+5+5= 66.6...原创 2020-02-11 12:43:45 · 4953 阅读 · 0 评论 -
进程调度的时机、切换与过程以及调度方式
1.知识总览2.进程调度的时机进程调度(低级调度),就是按照某种算法从就绪队列中选择一个进 程为其分配处理机。(1)需要进行进程调度与切换的情况当前运行的进程主动放弃处理机进程正常终止运行过程中发生异常而终止进程主动请求阻塞(如等待I/O)当前运行的进程被动放弃处理机分给进程的时间片用完有更紧急的事需要处理( 如I/O中断)有更高优先级的进程进入就绪队列(2)不能进行...原创 2020-02-11 12:13:26 · 4192 阅读 · 0 评论 -
处理机调度的概念和层次
1. 知识总览处理机调度(1)基本概念(2)三个层次高级调度(作业调度)中级调度(内存调度)低级调度(进程调度)(3)三层调度的联系、对比(4)补充知识进程的“挂起态“七状态模型2. 调度的基本概念当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定处理这些任务的顺序,这就是“调度”研究的问题。在多道程序系统中,进程的数量往往是多于处理机...原创 2020-02-11 11:34:37 · 5348 阅读 · 0 评论 -
线程概念和多线程模型
1. 知识总览2. 什么是线程 为什么要引入线程进程是伴随着多道程序技术而引入的考虑QQ,可以同时聊天和视频和传送文件,这些功能显然不可能是程序按顺序执行能实现的进程可能要同时做很多事,因此将进程分解为多个线程。现在,线程成为了程序执行流的最小单位,可进行线程调度。通过引入线程,可以进一步提高并发度。进程只作为资源分配的最小单元,调度的最小单位是线程。同一进程的线程,由于不需要...原创 2020-02-09 13:50:05 · 782 阅读 · 0 评论 -
操作系统之进程通信
1. 知识总览进程间通信方式三大类: 共享存储,消息传递,管道通信(内存缓冲区)2.什么是进程通信各进程的内存空间是相互独立的,一个进程不能访问另一个进程的内存空间。但是进程间的相互通信是不可避免的方案一 共享存储为两个进程设立一个共享存储区,两个进程需要互斥(通过PV操作)的访问共享空间。共享存储分为 基于数据结构 和 基于存储区 两种基于数据结构:只能放固定数据结构的数...原创 2020-02-09 13:20:34 · 1980 阅读 · 0 评论 -
操作系统之进程控制
1. 知识总览2. 什么是进程控制3. 如何实现进程控制4. 进程控制相关的原语5. 总结原创 2020-02-09 12:57:03 · 757 阅读 · 0 评论 -
进程的状态与转换
1. 知识总览2. 进程的状态(三种基本状态)上面的,运行态 —>>>阻塞态,是因为进程运行过程中发出I/O请求而得不到满足就绪态什么都有,只差CPU阻塞态:等待IO资源进程还有 创建态和终止态若进程运行出现错误或者运行结束,需要撤销进程,回收已分配的资源,撤销PCB3. 进程状态的转换进程状态转换的完整表示如下:进程被创建后,处于就绪态,处于就绪态...原创 2020-02-08 18:35:31 · 534 阅读 · 0 评论 -
进程的定义、组成、组织方式和特征
1. 知识总览2. 进程的定义先来看看什么是程序,程序就是一系列指令序列的集合程序运行时,程序代码存放在内存中的程序段中,程序处理的数据(变量)放在数据段中为了提高计算机资源的利用率,引入了多道程序技术。引入多道技术后,内存中可以同时存放多个程序,系统为每个运行的程序配置一个PCB(进程控制块),用来描述进程的各种信息(如程序代码和数据放在哪里)PCB,程序段,数据段 组成一个 进程...原创 2020-02-08 18:11:55 · 1372 阅读 · 0 评论 -
操作系统之系统调用
1.什么是系统调用应用程序通过系统调用请求操作系统服务应用程序不能直接申请系统资源,必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样保证了系统的稳定性和安全性。系统调用分为 设备管理,文件管理,进程控制,进程通信,内存管理系统调用的相关处理都是在核心态下的2. 系统调用与库函数的区别库函数可能是封装好的系统调用,也可能不涉及系统调用。应用程序可能发出系统调用,...原创 2020-02-08 17:21:23 · 3994 阅读 · 2 评论 -
操作系统之中断和异常
1.总览2.中断的产生引入中断机制,实现多道程序并发执行。本质:发生中断意味着需要操作系统介入,开展管理工作。(比如用户进程的切换)3.中断的概念和作用4.中断分类5.中断处理过程...原创 2020-02-08 16:40:50 · 242 阅读 · 0 评论 -
操作系统基本概述
1. 操作系统的概念操作系统(operating system,os)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。2. 操作系统的功能和目标(1)作为系统资源的管理者提供的功能: 处理机管理 存储器管理 文件管理 设备管理目标: 安全、高效...原创 2020-02-08 15:59:17 · 1061 阅读 · 0 评论