操作系统2:CPU调度,同步和死锁
Chapter5:CPU Schedule
5.1 基本概念/标准
调度的基本概念
CPU调度=处理机调度=进程调度
进程运行消耗的时间主要分为CPU时间和I/O时间,根据程序运行主要消耗的时间,可以分为CPU型的程序和I/O型的程序
三种层级的调度
短程调度、中程调度和长程调度,其中CPU主要是短程调度
调度发生的时间点:
从运行切换到暂停的时候
从运行到就绪状态的时候
从等待到就绪状态的时候
进程终止的时候
调度的方式:
抢占式:进程一旦被调度了就一直运行,直到完成或者阻塞的时候才让处理机分配给另一个进程
非抢占式:程序运行的时候可以基于某种原则,剥夺进程的CPU使用权,分配给别的进程
调度程序 Dispatcher
需要进行上下文切换,并切换到用户态
调度的一系列标准:
面向用户的准则和评价方式
周转时间:进程从提交到完成所经历的时间,包含平均周转时间,加权周转时间,平均加权周转时间
响应时间:从进程提出到首次被响应所需要的时间
等待时间:进程在就绪队列中等待的时间总和
进程的调度 ...
操作系统1:导论,进程和线程
RandomStar in 2020.09
Chapter 1. Introduction
1.1 什么是操作系统
用户和计算机硬件之间的中间程序
执行用户程序
使计算机易于使用
充分调用计算机资源
计算机系统可以分为四个部分
硬件:CPU,内存和I/O设备
操作系统
用户视角:操作系统是用户和计算机硬件之间的接口
计算机硬件
操作系统提供了命令级接口(鼠标和键盘)和程序级接口(system calls)
系统视角:操作系统是计算机系统资源的管理者
控制程序,分配资源
软件分层的观点:是扩充裸机的第一层系统软件
一直在运行的程序就是kernel(内核)
应用程序
用户 user,包含人、机器和其他计算机,不单指人
中文书上对操作系统的定义:
操作系统是一组有效控制和管理计算机各种硬件和软件资源,合理组织计算机的工作流程,方便用户的程序的集合
有效:系统效率高,资源的利用率高
合理:公平,不公平的时候会产生死锁和饥荒
方便:用户接口,图形界面
1.2 计算机组成
主机型计算机系统 ...
浙江大学《数据结构基础》课程笔记
Data Structure Final Review
RandomStar in 2020.01
Chapter 1 Introduction and Algorithm Analysis
算法的几个要素:输入,输出,明确性(Definiteness),有穷性(Finiteness),高效性(Effectiveness)
1.1 时间复杂度和空间复杂度
几个基本的运算规则
顺序结构:直接相加
循环中:复杂度=一次循环的复杂度x循环次数
嵌套循环中:循环规模的乘积x一次循环的复杂度
if/else语句:选其中复杂度最高的
1.2 最大子列和问题的分析
算法1:使用3层嵌套循环直接计算,复杂度为
算法2:使用两层循环并设置标记位,复杂度为
算法3:使用归并的方法(这一部分PPT上的代码比较复杂,可以好好看看),复杂度为
算法4:一种在线算法,复杂度时线性的,代码如下
1234567891011int MaxSubsequenceSum(int A[],int N) { int ThisSum = 0,MaxSum = 0,j ...
浙江大学《面向对象程序设计(C++)》课程笔记
OOP-Review
RandomStar
1. C++的新特性
1.0 输入输出流
C++可以使用输入输出流(cin, cout)进行输出,比如cout<<"Hello World"; 需要包含头文件#include<iostream>
文件的输入输出, 使用ofstream和ifstream
1234567891011121314151617#include<iostream>#include<fstream>#include<istream>#include<string>using namespace std;int main(){ string str="Hello World!"; ofstream fout("out.txt"); fout<<str<<endl; ifstream fin("out.txt"); string str1,str2; fin>>str1>>str2; retur ...
浙江大学《计算机系统原理》课程笔记
计算机系统原理Review
源自 非 常 天 空
0.计算机基本知识
计算机系统原理(feat Mr.Lou)荣获感动软工十大垃圾课前三名
软件的分类
System software系统软件
OS 操作系统
Database 数据库
Server 服务器
Compiler:以C语言为例,编译器将C语言转换成汇编语言,再由汇编器转换成machine language二进制串
Application software 应用软件
其他各种用途的东西
计算机硬件基本知识
Motherboard 主板包含 I/O devices,memory,processor三个部分
Memory:用于存储running programs and data needed,每块内存包含8个集成电路
Processor:用于处理运算等操作,CPU(central processor unit)
内部结构
计算机的5个基本组成部分
Input,Output,Memory,Data path,Control
计算机性能评价参数
...
浙江大学《高级数据结构与算法分析》课程笔记
ADS-Review
1. Advanced Data Structure
1.1 Tree
1.1.1 AVL Tree
根本目标:用二叉搜索树来提高搜索的速度
AVL树的定义
空树是height balanced的
对于任何一个节点,左右子树的高度差的绝对值不超过1
高度的定义:空节点的高是1,没有儿子的节点(学名是叶节点)高为0,否则就是儿子中高的最大值+1
树的旋转rotation
当高度差的约束被打破的时候就需要进行旋转,有LL,RR,LR,RL四种旋转方式
LL型旋转
RR型旋转,基本就是LL型旋转的镜像对称
RL型旋转
对于高度为k(空树的高度为0 )的AVL树,它的最小节点个数为(最大的节点个数肯定是K层全满的时候)
1.1.2 Splay Tree
目标:从空树开始,任何M次连续的操作一共最多消耗的时间
必须要从一棵空树开始
具体做法:在树中,每次有节点被访问到,就将其旋转到根节点
旋转的方法
如果父节点是根节点,直接把父子旋转即可
如果父节点不是根节点
zig-z ...
浙江大学《数据库系统》课程笔记
数据库系统复习整理
RandomStar
第一部分:基本概念和关系代数
1.0 课程绪论
Nothing important,主要是介绍课程的评分标准和瞎吹一通
1.1 关系型数据库 Relational Database
关系型数据的一些基本特点
关系型数据库是一系列表的集合
一张表是一个基本单位
表中的一行表示一条关系
1.2 基本概念和结构
a relation r is a subset of ,一条relation就是其中的一个n元的元组(tuple)
attribute属性,指表中的列名
attribution type 属性的类型
attribute value 属性值,某个属性在某条relation中的值
关系型数据库中的属性值必须要是atomic的,即不可分割的
domain:属性值的值域,null是所有属性的domain中都有的元素,但是null值会造成一些问题
Relation Schema 关系模式
其中是一系列属性,关系模式是对关系的一种抽象
r(R)表示关系模式R中的一种关系,t ...