操作系统基础

1.什么是IO 操作?

I/O操作 相对于内存而言 往内存里写就是输入 ,从内存往外读就是输出
怎么输入:键盘\input\read(从硬盘中往内存读)\recv(从网络中接收数据,存到内存)
怎么输出 : 显示器 打印机 播放音乐\print\write(从内存往硬盘写)\send(从内存往外发送)
文件操作: read write
网络操作:send recv
函数 : print input

操作系统的作用 : 分配硬件资源,使应用程序使用硬件有序化

把不同的程序内存隔离开,用算法分别调度cpu给程序使用

2.cpu工作效率:

希望目标 100%工作
cpu工作效率 50000条指令/ms
cpu工作 :做计算(对内存中的数据进行操作)的时候工作
cpu不工作: IO操作的时候(让操作系统调用硬件执行)

3.操作系统的历史

多道操作系统

一个程序IO操作的时候就把cpu让给别人

优点 : 整体上节省了时间  缺点:程序之间的切换浪费时间

分时操作系统 :  把时间分成时间片,每个程序轮流执行一个时间片,时间片的轮转

优点:提高了用户体验 缺点 :并没有提高cpu的效率

实时系统 :多用于飞机,导弹

实时信息处理系统 :多用于外汇实时变化

优点 : 及时响应,高可靠性

网络操作系统 :增加了一些网络处理模块

分布式操作系统 : 处理大批量数据,把大任务拆分成小任务

python中有celery框架处理分布式

4.进程: 进行中的程序就是进程,可以通过任务管理器查看当前进程

   进程是计算机中最小的资源分配单位 ****** (记住这句话)

   进程在启动之后,关闭之前,会获得唯一标识pid,随机分配的

5.线程: 必须存在在进程中,不能脱离进程存在,负责执行程序,可以多线程

            线程是能被操作系统分配给cpu执行的最小单位 *******

6.并发 , 并行 ,同步,异步,阻塞,非阻塞的概念

并发: 假如只有一个cpu , 多个程序轮流在cpu上执行(多道操作系统)

        宏观上(你看到的): 多个程序同时执行,(肉眼察觉不到程序的切换)

        微观上: 多个程序在一个cpu上轮流执行,切换速度特别快

并行 :(多cpu,多核)多个程序在多个cpu上同时执行

同步 : 在做A事件的时候发起B事件,必须等待B事件结束之后才能继续A事件

   eg: 主程序调用了一个函数,主程序要获取函数返回值才能继续执行,这时就必须等函数执行完

异步: 在做A事件的时候发起B事件,不需要等B事件结束,可以继续A事件

    eg: 主进程 开启了多个子进程 ,不需要等子进程结束,主进程继续运行

阻塞 : cpu不工作  input accpt sleep recv recvfrom 等都会把cpu让出去,造成阻塞

非阻塞:cpu工作

7.进程 三状态图 

 8. 操作系统调度算法:多级反馈算法

posted @ 2021-02-03 10:12  苦行僧冬*婷  阅读(26)  评论(0)    收藏  举报