• 网络编程简介


    网络编程

    一:什么是进程

    进程是指正在处理的的一个过程,进程实在是对正在运行程序一个抽象。

    一个程序的运行是操作系用发送指令给CPU,CPU调用命令将程序从硬盘中加载到内存,这整个过程都是操作系用在控制。

    操作系用的作用:

    隐藏复杂的硬件接口,体统简单的抽象接口(将复杂指令简单化)

    管理调度进程,并将多个进程对硬件的竞争变得有序。

    串行:一个程序完完整整的执行下来,执行完后再去执行下一个。

    并发:看起来想像是同时运行的

    并行:真正做到了同时运行

    多道技术

    1、产生背景:

    针对单核,实现并发

    2、空间复用:

    如同内存中同时又多道程序

    时间上的复用:

    复用一个cpu的时间片

    强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样 才能保证下次切换回来时,能基于上次切走的位置继续运行

    现代计算机:

    现在的主机一般是多核,那么每个核都会利用多道技术, 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个cpu中的任意一个,具体由操作系统调度算法决定。

    二:将应用程序对硬件资源的竞态请求变得有序化

    串行: 一个完完整整的执行完了再执行下一个. 并发: 看起来是同时运行的 并行: 真正做到了同时运行

    多道技术(了解): 空间复用: 共用一个内存条,每一个进程都有自己独立的内存空间,互不干扰,物理级别的隔离. 时间复用: 共用了一个cpu cpu切换(掌握): io的时候,占用时间过长切换,

    #三 现代计算机: 现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 cpu中的任意一个,具体由操作系统调度算法决定。

    并发:切换+保存状态

    开启子进程: 把父进程的代码完整复制到一个新的内存空间里去执行.. x = 1 def task(): print(x)

    createProcess(task)

  • 相关阅读:
    flask-login
    python3安装scrapy框架
    Redis--对象共享(整数型字符串)
    Redis--对象(type、encoding、ptr、lru、refcount)
    Redis--内存回收(引用计数法)
    Redis--跳跃表
    Redis--压缩列表(节约内存,连锁更新)
    Redis--整数集合(升降级)
    Redis--Rehash(h[0],h[1],rehashIdx, 渐进式)
    Redis--解决Hash表键冲突(单向链表next指针,表头)
  • 原文地址:https://www.cnblogs.com/zfb123-/p/11509238.html
Copyright © 2020-2023  润新知