网络编程的基本概念

# 操作系统的发展历程
    # 主要的人机矛盾是什么 : CPU的使用率
        # 输入\输出数据和CPU计算没有关系
    # 操作系统是怎么进化的
        # 传统的纸带输入
        # 磁带的存储降低了输入输出数据占用的时间,提高了CPU的利用率
        # 多道操作系统的出现 : 提高了CPU的利用率,单纯的切换会浪费时间
            # 一台计算机上同时可以出现多个任务
            # 能够将多个任务所使用的资源隔离开
            # 当一个任务遇到输入输出工作的时候能够让另一个任务使用CPU去计算
        # 分时操作系统 : 降低了cpu的利用率,提高了用户的体验
            # 时间片轮转
        # 实时操作系统
            # 操作精密仪器或者设备
            # 实时交易类
    # 操作系统的作用
        # 在具体的应用与所有的硬件之间起到了一个协调管理的作用
        # 负责分配计算机中所有的资源

# 输入输出 Input/Output
    # 向内存输入 : read,recv,recvfrom,import,input
    # 从内存输出 : write,send,sendto,print
# CPU的工作效率和输入输出的工作效率差

# 并发和并行
    # 多个程序交替在同一个cpu上被计算 并发
    # 多个程序同时在多个cpu上被计算   并行
# 阻塞/非阻塞
    # 阻塞 CPU不工作
    # 非阻塞 CPU一直在工作
# 异步和同步
    # 异步 :发布一个任务,不等待这个任务的结果就继续执行我的任务
    # 同步 :发布一个任务,等待获取这个任务的结果之后才继续执行我的任务
# 同步阻塞/同步非阻塞/异步阻塞/异步非阻塞

# 进程和程序
    # 进程就是运行中的程序
    # 每一个进程在计算机中都有一个唯一的进程id,pid  process id
# 进程  是计算机中资源分配的最小单位
    # 三状态 : 就绪 运行 阻塞
# 线程  是计算机中能够被CPU调度的最小单位
    # 是进程中的一个单位,它不能独立存在

 

# 基于原生socket的udp协议实现将client端发送过来的消息放到字典中
# 字典的key是所有客户端的地址,value是一个列表

# io :输入输出,
    # 输入到内存,向内存输入
    # 从内存中向外(硬盘,网络)输出
    
# 操作系统的发展史
    # 多道操作系统
    # 分时操作系统
    
# 并发和并行
    # 并发 : 多个程序在一个cpu上交替运行
    # 并行 : 在多个cpu上同时有多个程序在执行
    
# 阻塞和非阻塞
    # 指CPU是否在工作
    # 在工作 :非阻塞
    # 不在工作 :阻塞
    
# 同步和异步
    # 调一个任务,需要等待这个任务执行完并返回结果,现在的代码才能继续
    # 调一个任务,不关心这个任务是否执行是否完毕,只负责调用,余下的内容和我当前的代码时各自执行的
    
# 进程和程序
    # 运行中的程序
    # 是计算机中最小的资源分配单位
    # 多个进程之间的数据互相隔离
    # pid能够在操作系统中唯一标识一个进程
    
# 进程的三状态图 : 就绪 运行 阻塞

# 进程的创建和结束

# 进程的调度
    # 先来先服务
    # 短作业优先
    # 分时/多道
    # 多级反馈队列

 

posted on 2019-04-16 19:56  江湖乄夜雨  阅读(162)  评论(0编辑  收藏  举报