Python 第三十二章 操作系统基础

操作系统基础

进程基础

1、程序:
一堆静态代码文件
2、进程:
1.一个正在运行的程序进程 抽象的概念
2.由操作系统操控调用交给CPU运行 被CPU运行

操作系统

1.管理协调计算机中硬件和软件的关系
2.操作系统的作用:
如果没有操作系统,在软件开发中需要开发两层:
第一层:对硬件(CPU,内存,磁盘等等)协调,调用
第二层:如何调用各种接口去编程
作用:
1.将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口,open函数
2.多个进程抢占一个CPU资源时,操作系统会执行变得合理有序
阻塞方法:input read write sleep send recv accept sendto recvfrom

操作系统的发展史

最早出现的计算机:算盘
电子类的计算机发展史:
第一代:1940~1955
优点:个人独享整个计算机资源
缺点:耗时,硬件调试插线;都是串行执行
第二代:1955~1965磁带存储--批处理系统
优点:不用亲自对硬件进行插线操控,效率提高;可以进行批量处理代码
缺点:程序员不能独自使用计算机;所有程序还是串行
第三代:1955~1965集成电路,多道程序系统
大背景:集成电路,把所有的硬件编程小线路板;将两套不同的生产线合并成一条生成线
技术上的更新:多道技术
1.空间上的复用:
将内存分区域,一个内存可以同时加载多个进程
2.时间上的复用:
实现将CPU在多个进程之间来回切换,并且保留状态
几乎所有的程序都有IO阻塞
同时加载到内存3个任务,3个进程,每个进程都有阻塞情况,只要CPU运行一个进程时,遇到IO阻塞立马切换,长时间占用CPU也会切换
提升了效率,最大限度的使用CPU
如果是一个IO密集型进程,来回切换提升效率
如果是一个计算密集型,来回切换降低效率
第三代广泛采用了必须的保护硬件(程序之间的内存彼此隔离)之后,第三代计算机应用而生
每个人占用计算机的资源是有限的
多个(少于10个)共同使用一个计算机主机
第四代计算机:1980~至今

进程的理论

1.串行:所有的任务一个一个的完成
2.并行:多个CPU执行多个任务,真正的同时完成
3.并发:一个CPU执行多个任务,看起来像是同时完成
4.阻塞:CPU遇到IO就是阻塞
5.非阻塞:没有IO就是没有阻塞
6.进程的创建:
    1.一个子进程必须依赖于一个主进程才可以开启
    2.一个主进程可以开启多个子进程
    3.unix: fork创建子进程.
    4.unix(linux,mac): 创建一个子进程会完完全全复制一个主进程所有的资源,初始资源不变.
    5.windows: 操作系统调用CreateProcess 处理进程的创建.
    6.windows:创建一个子进程,会copy主进程所有的资源,但是会改变一些资源.
7.进程的状态:运行阻塞就绪

多进程

原文地址:https://www.cnblogs.com/zhangshan33/p/11379431.html

时间: 2024-10-08 03:33:06

Python 第三十二章 操作系统基础的相关文章

进击的Python【第十二章】:mysql介绍与简单操作,sqlachemy介绍与简单应用

进击的Python[第十二章]:mysql介绍与简单操作,sqlachemy介绍与简单应用 一.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量.所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来

第三十二章

道恒无名,朴虽小,而天下弗敢臣.侯王若能守之,万物将自宾.天地相合,以俞甘露,民莫之令而自均焉.始制有名,名亦既有,夫亦将知止,知止所以不殆.譬道之在天下也,犹小谷之与江海也. 第三十二章1 如何让大家都来顺服你? 各位朋友大家好,今天我们接着来聊<道德经>.今天我们不唱歌了,昨天放了一首我唱的歌,这唱歌在我这儿就是一个养生运动.因为唱歌的时候你要调呼吸,这时候是锻炼肺.我之前写过两篇文章,专门讲唱歌的,我们家有一位邻居.一位朋友,这肺间质性病变,很严重的肺病,结果人家天天唱歌,现在恢复的特别

【WPF学习】第三十六章 样式基础

原文:[WPF学习]第三十六章 样式基础 前面三章介绍了WPF资源系统,使用资源可在一个地方定义对象而在整个标记中重用他们.尽管可使用资源存储各种对象,但使用资源最常见的原因之一是通过他们的保存样式. 样式是可应用于元素的属性值集合.WPF样式系统与HTML标记中的层叠样式表(Cascading Style Sheet,CSS)标准担当类似的角色.与CSS类似,通过WPF样式可定义通用的格式化特性集合,并且为了保证一致性,在整个应用程序中应用他们.与CSS一样,WPF样式也能够自动工作,指定具体

Gradle 1.12用户指南翻译——第三十二章. JDepend 插件

本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个

【WPF学习】第三十二章 执行命令

原文:[WPF学习]第三十二章 执行命令 前面章节已经对命令进行了深入分析,分析了基类和接口以及WPF提供的命令库.但尚未例举任何使用这些命令的例子. 如前所述,RoutedUICommand类没有任何硬编码的功能,而是只表达命令,为触发命令,需要有命令源(也可使用代码).为响应命令,需要有命令绑定,命令绑定将执行转发给普遍的事件处理程序. 一.命令源 命令库中的命令始终可用.触发他们的最简单的方法是将它们关联到实现了ICommandSource接口的控件,其中包括继承自ButtonBase类的

Python开发【十二章】:ORM sqlalchemy

一.对象映射关系(ORM) orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了,而不用直接使用sql语言 优点: 隐藏了数据访问细节,"封闭"的通用数据库交互,ORM的核心.他使

计算机系统要素:第十二章 操作系统

终于来到了Hack计算机架构的最后一部分--操作系统的构建了!这一章的内容涉及了大量的逻辑架构.算法问题与细节处理,需要花很多精力才能够完成.我曾经与nand2tetris团队的一位工作人员有过联系,他就指出,这本书最后几个较难的章节介绍性的内容太少了,最后的OS章节如果作为正常的上课来学习的话,两周时间是绝对不够的(只要想想,计算机专业的学生得花一个学期学OS),其中涉及了太多问题.因此,在这篇文章中,我会将语言规范.溢出处理.特殊情况处理等几个重要的问题单独列出加以讨论. Math 溢出(o

第三十二章 elk(3)- broker架构 + 引入logback

实际中最好用的日志框架是logback,我们现在会直接使用logback通过tcp协议向logstash-shipper输入日志数据.在上一节的基础上修改!!! 一.代码 1.pom.xml 1 <!-- logstash-logback --> 2 <dependency> 3 <groupId>net.logstash.logback</groupId> 4 <artifactId>logstash-logback-encoder</a

第三十二章——数据库打包和三大范式

package程序包和程序体 package---包头 package body---包体 dbms_output.put_line(); 上面的输出语句就是一个程序包加存储过程 dbms_output是包的名字, 调用里面的某个方法 包头的语法: create or replace package 包头名 as 变量的说明... 存储过程或者函数的声明(不需要写实现的代码块) end; 声明了一个包头, 就要有一个包体与之对应, 去实现包头中写明的存储过程或者函数 包体的语法: create