操作系统基础知识

【一】操作系统发展史

python 复制代码
1.穿孔卡片
    优势:一个人独占电脑
  劣势:CPU利用率极低
​
2.联机批处理系统
    一次性可以录入多个用户指令、缩短了CPU等待的时间、提高了CPU的利用率
  
3.脱机批处理系统
    是现代计算机核心部件的雏形、提高CPU的利用率
​
# 总结:操作系统的发展史其实就是提升CPU利用率的过程

【二】多道技术

python 复制代码
1.通俗的说,可以将不同的任务同时进行,以来缩短时间,最终用时是其中最长的时间
2.多道技术
    1.空间上的复用
        多个任务共用一套计算机硬件
    2.时间上的复用
        切换+保存状态
            CPU在两种情况下会被剥夺
                1.程序遇到IO操作 
                2.程序长时间占用CPU 会被强行剥夺 保证其他程序不被饿死

【三】进程

python 复制代码
1.进程通俗的说就是一次程序允许的结果,进程是动态的,程序是静态的
2.进程调度算法
    1.先来先服务
    对短作业任务不太友好
    2.短作业优先
    对长作业任务不太友好
    3.时间片轮转法与多级反馈队列
    时间片轮转法:先公平的将CPU分给每个人执行
    多级反馈队列:根据作业长短的不同再合理分配CPU执行时间,优先级

【四】并发并行

python 复制代码
1.并发--》宏观上同时运行即并行,微观上串行
2.并行--》同时一起运行
# 高并发与高并行
    高并发:我们写的软件可以支持1个亿的并发量
        一个亿的用户来了之后都可以感觉到自己被服务着
  高并行:我们写的软件可以支持1个亿的并行量
        上述话语的言外之意是计算机有一亿个CPU

【五】同步与异步

python 复制代码
1.同步---》意思是前一步的结果是后一步运行的前提,所以后一步只能在等待前一步的结果,不会去做其他事情
2.异步---》意思是在等待前一步的结果时,先去做其他事情,不会原地等待,有结果就回来下一步

【六】阻塞和非阻塞

python 复制代码
1.阻塞:时间片用完,或等待某事件
2.非阻塞:就绪,运行

【七】同步异步与阻塞非阻塞结合

python 复制代码
同步异步:用来描述任务的提交方式
阻塞非阻塞:用来描述任务的执行状态
# 上述两组属于两个不同概念 但是可以结合
  同步阻塞:银行排队办理业务 期间不做任何事
  同步非阻塞:银行排队办理业务 期间喝水吃东西 但是人还在队列中
  异步阻塞:在椅子上坐着 但是不做任何事
  异步非阻塞:在椅子上坐着 期间喝水吃东西办公    (程序运行的极致)     
相关推荐
大侠在此在在此2 分钟前
我花了不到1块钱,用python把自己一年的1500次会话做成了个人知识库
python·llm
Jino8 分钟前
900×2100 的门洞,展开面积却是 3.4 ㎡ —— 不锈钢核价引擎的七条口径
python
贝壳69011 分钟前
Python 布尔数组选型:list、numpy.bool_、bitarray、RoaringBitmap、bool-hybrid-array 各管一段
python
一只爱撸猫的程序猿24 分钟前
全球出货第二,却不在 AI 的默认推荐里:一份悖论解剖报告
人工智能·python·产品
piaoyiren28 分钟前
Python FTP 服务端项目详细功能文档
网络·数据库·python
半杯咖啡半行码29 分钟前
QML进阶实战(二):异步网络、性能优化与工程化落地
网络·qt·性能优化·qml
miofly35 分钟前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github
悟天特斯35 分钟前
安防一体化:从“各管各的“到“全局联动“
java·大数据·网络·人工智能·物联网
MyFreeIT1 小时前
Python Windows Manual
开发语言·python
骑着蜗牛撵大象3271 小时前
手写一个 HTTP 服务器:从 socket 到 epoll,Linux 上到底怎么把请求变成响应
linux·服务器·网络·http·epoll·socket编程·并发模型