学Python操作系统相关知识点有哪些
本篇内容介绍了“学Python操作系统相关知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联公司2013年至今,先为文成等服务建站,文成等地企业,进行企业商务咨询服务。为文成企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
什么是时间片?
时间片是分时操作系统分配给每个正在运行的进程很小的一段CPU时间(在Linux上为5ms-800ms)。
什么是多级反馈?
多级反馈是操作系统调度进程、线程运行顺序的机制。通过多级反馈队列调度算法既能使得高优先级的作业得到响应又能使短作业迅速完成。
并发和并行的区别?
并发:多条线程轮流抢占CPU时间片运行。
并行:多条线程同时在不同的CPU上运行。
并发实质上还是单线程运行,python因为GIL锁的机制导致进程不能并行,只能并发。
Python程序只能并发不能并行,为什么有些时候用并发会大大提高程序执行效率高呢?
因为python程序单进程执行时还是会和操作系统的其他进程竞争CPU,当python程序遇到很多IO操作多线程并发执行时它占用CPU总的时间片多了,所以运行效率有所提升!
什么时候用并发什么时候不用并发?
假设某些任务涉及大量IO(输入输出)操作时,那么应该用并发,假设那些任务不涉及IO操作时不要用并发,不涉及IO的并发反而会降低整体运行速度。
怎么区分有没有涉及IO操作?
区分的简单方法是判断数据一直在内存中还是发生了内存与外设间的流动。数据一直在内存!不涉及IO操作!数据从外设传送到内存:诸如读取硬盘、接收网卡传来的数据、接收键盘鼠标的信号、接收摄像头麦克风的信号等等,这些是input。数据从内存传送到外设:诸如传送到网卡、硬盘、显示器、打印机等等,这些是output。
为啥要分清楚IO和非IO?
因为数据在内存中的读写速度非常非常快,在外设中的读写速度非常慢(有的快有的慢,总体来说比内存慢几个数量级)。所以在涉及IO操作时会导致程序暂停执行,等待IO设备报告结果,程序暂停执行等待IO设备的状态叫堵塞。
什么程序运行的三状态?
就绪:就是进程已经准备好,等着操作系统给它CPU时间片的状态。
执行:就是进程被操作系统分配了CPU时间片,正在运行的状态。如果时间片用完了进程会立即进入就绪状态。如果进程涉及IO操作在等待外设响应时会立即进入堵塞状态。
堵塞:进程遇到申请外设等待外设回应、等待外设完成任务等情况会立即进入堵塞状态。当进程IO操作完毕后需要继续执行时只能先进入就绪状态,不能立即执行。
为什么Python程序多进程运行某个函数时在window下运行一定要有if name=’main’,而Linux和mac系统不需要??
因为window下多进程运行某个函数时window会开辟一块内存空间把该函数所属的文件import到其中,注意import实质就是运行了一遍,import过程中会执行指定的函数。Linux和mac下多进程运行某个函数时系统会开辟一块内存空间把父进程内存空间的所有内容复制过来,注意这里只是复制,不是运行!复制过来以后只执行指定的函数。操作系统机制的差异导致window平台下多进程运行效率比Linux和mac差了很多。所以很多Python程序员爱用Linux和mac。
“学Python操作系统相关知识点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
新闻名称:学Python操作系统相关知识点有哪些
浏览地址:http://scyanting.com/article/pgcsdd.html