violet
操作系统的发展史
1.穿孔卡片
一个计算机机房一次只能被一个卡片使用
缺点:cpu的利用率低
2.联机批处理系统
支持多用户去使用一个计算机机房
3.脱机批处理系统
告诉磁盘
提高文件的读取速度
优点:
提高cpu时是串行
多道技术:
空间上的复用:
一个cpu可以提供给多个用户使用
时间上的复用:
切换+保存状态
IO操作
input()
print()
time.sleep(3)
若CPU遇到IO操作,会立即将当前执行程序CPU使用权断开
优点:
CPU使用率变高了
若一个程序使用cpu的时间过长,会立刻将当前执行程序CPU使用权断开
缺点:程序的执行效率低
并发与并行
并发:指的是看起来像同时运行,多个程序不停,切换+保存状态
并行:真实意义上的同时运行,在多核cpu的情况下,同时执行多个程序
进程
程序与进程
程序就是一堆代码
进程就是一堆代码的运行过程
进程调度
当代操作系统调度
时间片轮转发+分级反馈队列
1.先来先服务调度
a,b程序,若a程序先来,先占用CPU
缺点是
如果程序a先使用,那么b得等a运行完了才能运行
2.短作业优先调度
a,b两个程序,谁的用时最短,谁就先调度使用cpu
缺点:
若a使用时间最长,其他程序使用时间都很短,
必须等待所有用时短的程序结束后才能使用
3.时间片轮转法
cpu执行的时间一秒钟加载n个程序,需要将一秒等分成多n个时间片
4.分级反馈队列
将执行优先分为多层级别
1级:优先级最高
2级:优先级第二,以此类推
进程的三个状态
就绪态
所有进程创建时都会进入就绪态,准备嗲偶
运行态
调度后的进程,进入运行态
阻塞态
凡是遇到I/O操作的进程都会进入阻塞态
若I/O结束必须重新进入就绪态
同步和异步
指的是提交任务的方式
同步:若有两个任务需要提交,在提交第一个任务时必须等待任务执行结束后才能继续执行第二个任务
异步:若有两个任务需要提交,在提交第一个任务时不需要原地等待,立即可以提交并执行第二个任务
阻塞和非阻塞
阻塞:阻塞态遇到I/O操作一定会进入阻塞态
非阻塞:就绪态和运行态
同步与异步还有阻塞与非阻塞是不是一个概念?
不是一个概念,不能混为一谈
主进程和子进程会产生各自的名称空间
查看进程名称空间的方法有:
1.查看子进程号:current_process().pid
2.获取主进程:os.getpid()
3.cmd中查看进程号:tasklist|findstr进程号
4.获取主进程的父进程的pid号:os.getppid()
最大提高CPU的使用率:
尽可能的减少不必要的IO操作
进程号回收的两种条件:
1.join,可以回收子进程与主进程
2.主进程正常结束,子进程与主进程也会被回收
僵尸进程与孤儿进程
僵尸进程
指的是子进程已经结束了,但是它的pid号还存在,未被摧毁
缺点是占用pid号,占用操作系统的资源
孤儿进程
指的是子进程还在执行,但是父进程已经意外结束了
操作系统优化机制:提供一个福利院帮你回收没有父进程的子进程
守护进程
指的是主进程结束之后,该主进程产生的所有子进程跟着结束并回收
violet的更多相关文章
- BZOJ 2716: [Violet 3]天使玩偶
2716: [Violet 3]天使玩偶 Time Limit: 80 Sec Memory Limit: 128 MBSubmit: 1473 Solved: 621[Submit][Statu ...
- bzoj violet系列 (2708~2725)
cbh大爷说:写博客不能弃坑. orz cbh 那我就来更新博客了. violet这个系列的题好神啊……出题人好劲啊…… ……怎么最近都在理性愉悦啊…… 另外bzoj400题纪念~ 2708: [Vi ...
- 二分+最短路判定 BZOJ 2709: [Violet 1]迷宫花园
BZOJ 2709: [Violet 1]迷宫花园 Sample Input 5 ######### # # # # # # # #S# # ##### # # ## # # # ### ### ## ...
- BZOJ 2724: [Violet 6]蒲公英
2724: [Violet 6]蒲公英 Time Limit: 40 Sec Memory Limit: 512 MBSubmit: 1633 Solved: 563[Submit][Status ...
- [BZOJ2724][Violet 6]蒲公英
[BZOJ2724][Violet 6]蒲公英 试题描述 输入 修正一下 l = (l_0 + x - 1) mod n + 1, r = (r_0 + x - 1) mod n + 1 输出 输入示 ...
- BZOJ2718: [Violet 4]毕业旅行
2718: [Violet 4]毕业旅行 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 229 Solved: 126[Submit][Status ...
- BZOJ 2716: [Violet 3]天使玩偶( CDQ分治 + 树状数组 )
先cdq分治, 然后要处理点对答案的贡献, 可以以询问点为中心分成4个区域, 然后去掉绝对值(4种情况讨论), 用BIT维护就行了. --------------------------------- ...
- BZOJ 2724: [Violet 6]蒲公英( 分块 )
虽然AC了但是时间惨不忍睹...不科学....怎么会那么慢呢... 无修改的区间众数..分块, 预处理出Mode[i][j]表示第i块到第j块的众数, sum[i][j]表示前i块j出现次数(前缀和, ...
- BZOJ 2718: [Violet 4]毕业旅行( 最长反链 )
一不小心速度就成了#1.... 这道题显然是求最长反链, 最长反链=最小链覆盖.最小链覆盖就是先做一次floyd传递闭包, 再求最小路径覆盖. 最小路径覆盖=N - 二分图最大匹配. 所以把所有点拆成 ...
- BZOJ2720: [Violet 5]列队春游
2720: [Violet 5]列队春游 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 173 Solved: 125[Submit][Status] ...
随机推荐
- shell编程:expr的数学运算
运算符两种方式 方式一:expr $num1 operator $num2 方式二:$(($num1 operator $num2)) (方式二在运算符“=”时候会出错) 1+2.sh 这个代码有点问 ...
- 常用命令--mount
mount -o remount,rw / mount 命令 [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点 -l 查询系统中已经挂载的设备,-l 会显示卷标 -a ...
- 13-vim-复制和粘贴-01-复制和粘贴
1.vi中提供有一个被复制文本的缓冲区 复制命令会将选中的文字保存在缓冲区. 删除命令删除的文字会被保存在缓冲区 在需要的位置,使用粘贴命令可以将缓冲区的文字插入到光标所在位置. vi中的文本缓冲区同 ...
- android中的文件存储
Context类中提供的IO方法: FileOutputSream openFileOutput(String name, int mode):打开应用程序中的/data/data/<应用程序的 ...
- Spring中AOP的基于xml开发和配置
pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- Install ncurses (ncurses-devel) and try again
apt install libncurses5-dev libncursesw5-dev
- Linux 任务管理器(二)
特殊文件与进程 fuser命令 [root@localhost home]# fuser -muv . 用户 进程号 权限 命令 /home: root kernel mount (root)/hom ...
- 存储过程分页查询和在ado.net中的使用,返回查询总数
1.创建查询分页的存储过程 CREATE PROCEDURE PageQuery @tableName VARCHAR(),-- 表名 @strWhere VARCHAR(),-- 查询条件 @col ...
- git常用操作命令归纳
git开始 全局配置:配置用户名和e-mail地址 $ git config --global user.name"Your Name" $ git config --global ...
- 特种设备TSG 认证流程
特种设备许可,也叫安全注册(原为AZ安全注册认可),现为TS.国家为了防止和减少事故,保障人民群众生命和财产安全,促进经济发展而强制实施的安全监察.它的作用相当于欧盟的“CE”认证,但比“CE”认证更 ...