• 操作系统必会


    穿孔卡片

    高速磁带

    -- 操作系统

    # 多道操作系统
        # 第一次提出了多个程序可以同时在计算机中被计算
        # 1.遇到IO就让出CPU
        # 2.把CPU让给其他程序,让其他程序能够使用CPU
        # 3.CPU的让出这件事 占用时间
        # 4.两个程序来回在CPU上切换,不会
            # 每个程序有独立的内存空间
            # 每个程序在切换的前后会把当前程序的状态记录下来
    

    CPU计算和不计算(IO)操作

    IO操作(网络操作文件操作) : 输入输出:相对内存

    # 阻塞: sleepinput
    ecvaccept
    ecvfrom是不需要cpu参与的
    # 对文件的读取 : 对硬盘的操作一次读取相当于90w条代码
    # Input : 向内存输入数据
        # 读loadinput
    ecv
    ecvfromacceptconnectclose
    # Output : 从内存输出数据
        # 写dumpprintsendsendtoacceptconnectclose
    # 所有的IO操作本质都是文件操作
        # inputprint input是写入文件,然后通过读取文件把输入的内容加载到内存
        #               print是直接写入文件,然后通过文件展示给用户看
        # socket中的交互方法 : 都是文件操作
            # send 是向缓存文件中写
            # recv 是从缓存文件中读
        # 也就是说只要涉及到IO操作 至少就是一个0.009s=就是CPU执行90w条python代码的时间
    

    0.009s

    500000000条指令/s /5 = 100000000条python代码/s

    0.009s * 100000000 = 900000条python代码

    import dis

    a = 1

    def func():

    global a

    a+=1

    dis.dis(func)

    1.老教授和研究生

    # 研究生 5min 没有IO操作 先来先服务(FIFS)
    # 老教授  24h 没有IO操作
    # 研究生 3min 没有IO操作 短作业优先算法
    

    2.时间片轮转算法 -- 分时操作系统

    # 1w = 0.00005s
    # 1.时间片到了才让出CPU
    # 2.CPU的让出这件事 占用时间
    # 3.减低工作效率,提高了用户体验
  • 相关阅读:
    hdu 5532 Almost Sorted Array(模拟)
    hdu 2612 Find a way(bfs)
    hdu 2660 Accepted Necklace(dfs)
    reactjs学习一(环境搭配react+es6+webpack热部署)
    途牛banner自动轮播
    web app开发技巧总结
    20个为前端开发者准备的文档和指南
    Github上最受关注的前端大牛 快来膜拜把!
    怎么才能成为优秀的前端开发工程师?
    Web前端知识技能大汇总
  • 原文地址:https://www.cnblogs.com/python25/p/11578624.html
Copyright © 2020-2023  润新知