我们这里开出了新的篇章:操作系统
🐓what is an operating system
然而,在我看来,这个答案是
操作系统很难定义,因为他的出现是为了解决使用计算机时候出现的问题,而问题有千千万万,切忌以一概全
🐓促使操作系统发展的一些因素
历史上的操作系统是由人和硬件构成,由于硬件成本相对于人成本的减少,操作系统的成本是越来越低,这也推动了操作系统在以后的发展
- 之前:昂贵的硬件成本,廉价的劳动力(请允许我这么说,哈哈哈):使得要最大化利用硬件
- 现在:人的高薪资,廉价的硬件成本:使得每个人都有机会使用计算机
现在的一些问题和解决办法:
问题 | 解决方法 |
---|---|
必须等待批量输出 | 交互式分时 |
人们需要合理的反应时间 | 抢先调度 |
人们需要自己的数据和程序 | 添加文件系统,可以快速访问数据。计算机用来存储数据(以前用卡带存储) |
由于过载,boss会得不到响应 | 优先调度 |
不懂的别着急,后面全部包括
🐓资源分配管理
- CPU调度只是资源分配问题的一个例子
- 分时计算机的资源有限(CPU的时间,磁盘空间,物理内存空间等, 并且OS负责调度资源的分配
- 所以,如磁盘和物理内存配额等
🐓现代操作系统能做什么?
- 提供抽象
- 硬件具有较低的物理资源,有复杂的、特殊的接口,OS提供了抽象的,呈现干净的接口
- 例如进程,共享内存,文件,同步和通信机制等
- 提供标准接口
- 可移植性(UNIX可以运行在不同的计算机系统上)、非常容易做出跨系统应用
- 资源使用
- 允许多个用户公平、高效、安全地共享资源
- 多个进程共享一个处理器(可抢占的资源)
- 多个程序共享一个物理内存(可抢占的资源)
- 多个用户和文件共享一个磁盘(非抢占的资源)
- 多个程序共享某一数量的磁盘和网络带宽(可抢占的资源)
- 资源消耗
- 操作系统消耗资源以提供上述功能
🐓抽象的优缺点
- 抽象是好的:分时,虚拟内存,分层和网络文件系统等等
- 抽象是坏的: 在高额工作量下,分时经常表现很差。同时如果工作量大或者单个进程大的话,那么虚拟内存肯定要崩溃/(ㄒoㄒ)/~~如果你是程序员,你会很悲催的被操作系统挡在机器之外
🐓操作系统也是一个软件
- 并发和异步使操作系统很复杂
- I / O设备与CPU同时运行,完成后中断CPU
- 在多处理器上多个用户进程并行执行
- 多个工作站同时执行并通过网络发送消息进行通信
- 协议处理异步进行
- 操作系统基本上是非确定性和事件驱动