day 28
目录
操作系统发展史
穿孔卡片
一个计算机机房,一次只能被一个卡片使用
缺点:CPU利用率最低
联机批处理系统
支持多用户去使用一个计算机机房
脱机批处理系统
高速磁盘:
 提高文件的读取速度
优点:
 提高CPU的利用率
多道技术(基于单核情况下研究)
单道
多个使用CPU时是串行
多道技术
空间上的复用(重点)
一个CPU可以提供个多个用户去使用
时间上的复用(重点)
切换 + 保存状态
IO操作
 input()
 print()
 time.sleep(5)
1.若CPU遇到IO操作,会立即将当前执行程序CPU使用权断开
 优点:
 CPU的利用率高
2.若一个程序使用CPU的时间过长,会立即将当前程序CPU使用权断开
 缺点:
 程序的执行率降低
并发与并行
并发
指的是看起来像同时运行,多个程序不停 切换 + 保存状态。
并行
真实意义上的同时运行,在多核(多个CPU)的情况下,同时执行多个程序。
进程
程序与进程
程序:一堆代码
进程:一堆代码运行的过程
进程调度
当代操作系统调度:
 时间片轮转法 + 分级反馈对列
先来先服务调度
a,b程序,若a程序先来,先占用CPU
缺点:
 程序a先使用,程序b必须等待程序a使用CPU结束后才能使用
短作业优先调度
a,b程序,谁的用时短,先优先调度使用CPU
缺点:
 若程序a使用时间最长,有N个程序使用时间短,
 必须等待所有用时短的程序结束后才能使用。
时间片轮转法
CPU执行的时间1秒中,加载N个程序,要将1秒等分成多N个时间片。
分级反馈队列
 将执行优先分为多层级别
 - 1级:优先度最高
 - 2级:优先级第二,以此类推
 - 3级
 ......
进程的三个状态
就绪态
所有进程创建时都会进入的就绪态,准备调度。
运行态:
调度后的进程,进入运行态。
阻塞态
凡是遇到IO操作的进程,都会进入阻塞态,
若IO结束,必须重新进入就绪态。
同步与异步
指的是提交任务的方式
同步
若有两个任务需要提交,在提交第一个任务时,
必须等待该任务执行结束后,才能继续提交并执行第二个任务。
异步
若有两个任务需要提交,在提交第一个任务时,
不需要原地等待,立即可以提交并执行第二个任务。
阻塞与非阻塞
阻塞
阻塞态。遇到IO操作一定会阻塞
非阻塞
就绪态
运行态
面试题:同步和异步,阻塞和非阻塞是同一个概念吗?
答:强调: 不是同一个概念,不能混为一谈!
进程号回收的两种条件
1.join,可以回收子进程与主进程
2.主进程正常结束,子进程与主进程也会被回收
僵尸进程与孤儿进程
僵尸进程
指的是子进程已经结束,但PID号还存在,未销毁。
缺点:
 占用PID号,占用操作系统资源
孤儿进程
指的是子进程还在执行,父进程意外结束
操作系统优化机制:
 提供一个福利院,帮你回收没有父亲的子进程。
守护进程
指的是主进程结束后,该主进程产生的所有子进程跟着结束,并回收。
day 28的更多相关文章
- 28个你必须知道的HTML5的新特性,技巧以及技术
		
崭新新的页面布局 传统的: HTML5: 1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<f ...
 - CSharpGL(28)得到高精度可定制字形贴图的极简方法
		
CSharpGL(28)得到高精度可定制字形贴图的极简方法 回顾 以前我用SharpFont实现了解析TTF文件从而获取字形贴图的功能,并最终实现了用OpenGL渲染文字. 使用SharpFont,美 ...
 - 来,一起让我们越来越懒,面向CSS、JS未来编程。(9.28已更新)
		
2016.10.29更新 本文存在大量的错误,仅供参考. 不知不觉在前端领域马上一个年头就要过去了,然而再看看自己的代码,果然够烂,那么为什么代码一直没有用面向对象的思维去写CSS呢?首先有两点:一点 ...
 - MySQL报错:Got error 28 from storage engine
		
今天碰到数据库出错: Got error 28 from storage engine 查了一下,数据库文件所在的盘应该没事,应该是数据库用的临时目录空间不够 问题原因: 磁盘临时空间不够导致. 解决 ...
 - [.net 面向对象程序设计进阶] (28) 结束语——告别2015
		
[.net 面向对象程序设计进阶] (28) 结束语——告别2015 <.net面向对象程序设计进阶>这一系列文章写了太长的时间了,大概有半年没写,在年底又一口气写了好几篇.在整个过程中目 ...
 - 背水一战 Windows 10 (28) - 控件(文本类): TextBox, PasswordBox
		
[源码下载] 背水一战 Windows 10 (28) - 控件(文本类): TextBox, PasswordBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) T ...
 - 10月28日PHP基础知识测试题
		
本试题共40道选择题,10道判断题,考试时间1个半小时 一:选择题(单项选择,每题2分): 1. LAMP具体结构不包含下面哪种(A) A:Windows系统 B:Apache服务器 C:MySQL数 ...
 - CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28
		
[准备工作] #在编译安装lnmp之前,首先先卸载已存在的rpm包. rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd yum -y r ...
 - 记 Mac Pro 系统升级后,编译安装 PHP-5.6.28 / PHP-7.0 报错修复过程
		
买 Mac Pro 的时候,系统为 OS X 10.11.5,编译 PHP-5.6.21 的时候,也遇到一些坑,安装过程记录如下: Mac Pro 编译安装 PHP 5.6.21 及 问题汇总 后来, ...
 - 28. 字符串的排列之第1篇[StringPermutation]
		
[题目] 输入一个字符串,打印出该字符串中字符的所有排列.例如输入字符串abc,则输出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. [分析] 这是一道很好的 ...
 
随机推荐
- Pandas | 26 疏离数据
			
当任何匹配特定值的数据(NaN/缺失值,尽管可以选择任何值)被省略时,稀疏对象被“压缩”. 一个特殊的SparseIndex对象跟踪数据被“稀疏”的地方. 这将在一个例子中更有意义. 所有的标准Pan ...
 - Windbg Assembly Code(反汇编)窗口的使用
			
在WinDbg中,可以通过输入命令(u, ub, uu (Unassemble))或使用反汇编窗口查看程序汇编代码. 如何打开 DissAssembly Code窗口 通过菜单View-->Di ...
 - Luogu P3228 HNOI2013 数列 组合数学
			
题面 看了题解的推导发现其实并不复杂,但是如果你想要用多项式或者组合数求解的话,就GG了 其实如果把式子列出来的话,不需要怎么推导就能算出来,关键是要想到这个巧妙的式子. 设\(b_i=a_{i+1} ...
 - c博客作业-数组
			
0. 1.本章学习总结 1.1学习内容总结 1.1.1一维数组 1.一般定义形式:类型名 数组名 [数组长度];类型名指定数组中每个元素的类型,数组名是数组变量的名称,是一个合法的标识符,数组长度是一 ...
 - ECMAScript6之Class
			
1.Class的基本语法 1.1简介 基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰.更像面向对象编程的语法而 ...
 - 简单认识RTLO(Right-to-Left Override)
			
目录 两行代码实现字符逆序输出 做个假文件 参考 今天在群里看到的用法,RLO是一个微软的中东Unicode字符8238,或者0x202E,可以使后面的字符都变为RTL(阿拉伯语从右往左书写,对我们来 ...
 - go 语言的一个赋值操作
			
最近在看client-go源码,在源码的\tools\caches\store.go文件中有一行代码不得其解(如下标黄内容),它将一个struct赋值给了一个interface type Store ...
 - SSL密钥协商过程分析
			
一.说明 尽管做过证书生成.双向认证.SSL通信编程等事情,但一直不清楚SSL如何完成密钥交换.看网上的资料则众说纷纭,最近和朋友学习时聊到了这个问题,然后正巧上周处理客户反馈SSL版本过低时领导也想 ...
 - windows 安装  scrapy (python3.7)
			
今天想要用scrapy爬取数据,想到原来刷过机没有这个库了就重新安装了一遍 安装scrapy 需要的东西 https://pan.baidu.com/s/1kuLvGQBG8tMTCY3WDLuU ...
 - .NET Core如何使用NLog
			
1.新建ASP.NET Core项目 1.1选择项目 1.2选择.Net版本 2. 添加NLog插件 2.1 通过Nuget安装 2.2下载相关的插件 3.修改NLog配置文件 3.1添加NLog配置 ...