计算机 操作系统

因为随着程序越来越大, 手动放卡纸程序的时间比程序运行时间还长, 为了让程序可以自动运行, 诞生了操作系统, 简称 OS , 其实也是程序

但是它有操作硬件的特殊权限, 可以运行和管理其他程序

在这里插入图片描述

此时可以一次给 计算机多个程序.
等一个程序执行完成后, 自动执行下一个程序, 这个叫做 批处理

随着 设备种类的增加, 程序员不仅要考虑代码, 还要考虑代码和不同设备的交互
程序员需要了解所有硬件情况.

操作系统来处理 软件和 硬件之间的连接, 具体的讲, 就是操作系统提供API来抽象硬件, 叫 “设备驱动程序”
程序员可以用标准化机制, 和 输入输出硬件(I/O) 交互
例如 程序只需要调用 print(highscore) , 操作系统会处理 输出到纸上的具体细节
后来 CPU非常快, 经常在等待其他设备处理数据, 就是说, 计算机中最昂贵的部分在闲着, 其他设备在忙

在这里插入图片描述
诞生了操作系统的, 等程序运行至其他设备时, 让这个程序在CPU中休眠, 执行下一个程序, 直到上一个程序执行返回,然后标记并安排继续执行.
给一个CPU配置多个 读卡器, 打印机, 磁带驱动器, 共享一个CPU时间, 操作系统的这种能力叫做 多任务处理
问题是: 多个程序会争内存, 于是给每个程序配置专用的内存模块

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
问题是: A可能会分配到非连续的内存
真正的程序可能会分配到内存的 数十个位置

在这里插入图片描述
这种虚拟内存可以假定程序总数从地址0 开始
而实际的物理地址, 被操作系统隐藏和抽象了, 一层新的抽象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 10048546 查看本文章

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
这样 每个程序的内存就会被独立出来, 避免影响到其他程序, 这个叫 内存保护
防止恶意软件也很有用
例如, 我们不希望其他程序读写邮件程序的内存
Atlas 有 虚拟内存 和 内存保护 , 是第一台支持这些功能的计算机
一台计算机可以同时供多人使用, 避免一个人占满计算机的资源, 提供 分时操作系统解决方案. 每个用户只能用一小部分资源.
后来出现了一个很大的操作系统, 占用了一半的内存, 体量达到1M
于是有了新的操作系统 Unix:
把操作系统分成两部分, 首先是操作系统的 核心功能, 如内存管理, 多任务和输入/输出处理, 这叫"内核"
第二部分是一堆有用的工具, 如 程序和运行库.
紧凑的内核意味着功能没有那么全面
Unix,没有错误恢复代码,如果发生错误, 就让内核"恐慌(panic)" , 当用它时, 机器就会崩溃, 这个就是 内核恐慌. 然后重启电脑…
内核崩溃,无法恢复, 就会调用panic函数.
使得 Unix流行起来, 甚至有了文字处理器.
随着电脑价格下降, 个人电脑开始普及, 需要更为简洁的微操作系统, 如 微软的磁盘操作系统(MS-DOS) 只有160K

发布了48 篇原创文章 · 获赞 0 · 访问量 542

猜你喜欢

转载自blog.csdn.net/weixin_44286839/article/details/104888913