网络编程基础——进程和多任务

半城伤御伤魂 提交于 2020-01-06 21:31:57

网络编程——进程:

1.进程:

在这里插入图片描述
程序是一堆文件,进程就是一个正在执行的文件,而CPU最终运行了你的程序。
操作系统调度作用:将你的磁盘上的程序加载到内存,然后交由CPU去处理,一个CPU正在运行的一个程序,就叫开启了一个进程

  • 串行: 所有的进程由cpu一个一个的解决。
  • 并行:多个cpu,真正的同时运行多个进程。
  • 并发:单个cpu,同时执行多个进程(来回切换的),看起来像是同时运行。
    开启多个进程: socket: server,client 两个进程.python中,如果一次想开启多个进程,必须是一个主进程,开启多个子进程.

多进程:

from multiprocessing import Process
import time
def task(name):
    print(f'{name} is running')
    time.sleep(3)
    print(f'{name} is done')
if __name__ == '__main__':
    p = Process(target=task,args=('怼哥',))
    p.start()
    print('===主进程')

2.操作系统:

操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的基石和内核。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序,控制输出设备输入设备、操作网络和管理文件等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

操作系统的作用:

如果没有操作系统,你去写一个程序,你只要完成两层即可:

  • 第一层:你要学会底层硬件:CPU,内存,磁盘是如何工作使用的;
  • 第二层:去调用这些底层的硬件,操作系统第一个作用:将一些复杂的硬件操作封装成简单的接口,便于使用。
  • open()操作系统的第二个作用:你的计算机(单个CPU情况)看似可以处理多个进程,看电影 + 玩纸牌游戏 + qq聊天 + 12306抢票…操作系统第二个作用:合理的调度分配多个进程与CPU的关系,让其有序化)。

网络编程——多任务:

多任务:

  • 多任务处理是指用户可以在同一时间内运行多个应用程序,每个应用程序被称作一个任务.Linux、windows就是支持多任务的操作系统,比起单任务系统它的功能增强了许多。当多任务操作系统使用某种任务调度策略允许两个或更多进程并发共享一个处理器时,事实上处理器在某一时刻只会给一件任务提供服务。因为任务调度机制保证不同任务之间的切换速度十分迅速,因此给人多个任务同时运行的错觉。多任务系统中有3个功能单位:任务、进程和线程。
  • 当多任务操作系统使用某种任务调度策略允许两个或者更多进程并发共享一个处理器时,事实上,处理器在某一时间只会给一个任务提供服务。因为人物的调动机制保证不同任务的之间的切换速度十分迅速,因此给了我们我们多个任务同时进行的错觉,多任务系统中只有3个功能单位:任务进程线程
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!