Operating Systems: Crash Course Computer Science #18
Summary
TLDR本视频介绍了操作系统(OS)的发展历程。20世纪40年代和50年代早期,计算机一次只能运行一个程序,程序员需要手动将程序输入计算机。随着计算机速度的指数级增长,手动输入程序变得耗时且低效,因此操作系统应运而生。操作系统是一类特殊的程序,它们拥有对硬件的特殊权限,能够管理和运行其他程序。20世纪50年代,随着计算机的普及和性能的提升,操作系统开始出现,它们通过批处理技术减少了程序加载的手动操作。操作系统还提供了软件抽象层,通过API和设备驱动程序简化了程序员与硬件设备的交互。到了50年代末,计算机速度的提升导致了处理器在等待慢速的I/O设备(如打印机)时出现闲置。为了充分利用这一资源,操作系统引入了多任务处理,允许多个程序在同一CPU上同时运行。此外,操作系统通过虚拟化内存位置和内存保护功能,为每个程序分配独立的内存块,提高了系统的稳定性和安全性。70年代,随着计算机速度的提升和成本的降低,出现了支持多用户同时交互访问的时间共享系统。Multics和Unix是早期时间共享操作系统的代表,后者以其简洁性和可移植性广受欢迎。到了80年代,个人计算机的出现使得操作系统如MS-DOS和早期Windows系统变得更为简单,尽管它们缺乏多任务处理和内存保护功能。现代操作系统如Mac OS X、Windows 10、Linux、iOS和Android都具备多任务处理、虚拟内存和内存保护功能,使得用户能够同时运行多个程序。
Takeaways
- 📚 20世纪40年代和50年代早期的计算机一次只能运行一个程序,程序员需要手动将程序输入计算机。
- 🚀 随着计算机速度的指数级增长,手动输入程序变得不再高效,因此产生了操作系统以实现计算机的自动化操作。
- 💾 操作系统(OS)是一类特殊的程序,它们拥有硬件的特殊权限,可以运行和管理其他程序。
- 🔁 20世纪50年代,计算机开始采用批处理技术,可以自动连续处理多个程序,减少了等待时间。
- 📈 计算机变得更快、更便宜,操作系统通过设备驱动器提供的软件抽象,简化了程序员与硬件外设的交互。
- 🔄 到了50年代末,计算机速度的提升导致它们常常因为等待慢速的I/O设备而空闲,这催生了多任务处理的需求。
- 🤖 曼彻斯特大学的Atlas超级计算机是早期能够通过巧妙调度同时运行多个程序的系统之一。
- 🧠 为了支持多任务处理,操作系统引入了内存分配和管理,每个程序都拥有自己的内存块,这称为动态内存分配。
- 🔗 虚拟内存技术使得程序可以使用连续的内存地址,而操作系统和CPU自动处理虚拟到物理内存地址的映射。
- 🛡️ 内存保护功能确保了一个程序的故障不会影响到其他程序的内存,提高了系统的稳定性和安全性。
- 📊 到了70年代,计算机的速度和便宜程度使得多个用户可以同时交互使用一台计算机,这要求操作系统实现时分共享。
- 🌟 Unix操作系统以其简洁性和可移植性成为70年代和80年代最受欢迎的操作系统之一,它对操作系统的发展产生了深远影响。
- 🏠 个人电脑的兴起要求操作系统更加简单,如微软的MS-DOS,尽管它缺乏多任务处理和内存保护功能。
- 🔄 现代操作系统如Mac OS X、Windows 10、Linux、iOS和Android都具备多任务处理、虚拟内存和内存保护功能。
Q & A
20世纪40年代和50年代初期的计算机是如何运行程序的?
-20世纪40年代和50年代初期的计算机一次只能运行一个程序。程序员会在自己的办公桌上编写程序,例如使用打孔卡片,然后将程序带到一个房间大小的计算机所在的房间,并将其交给专门的计算机操作员。操作员会在计算机空闲时将程序输入计算机,计算机运行程序,输出结果,然后停止。
为什么需要操作系统?
-随着计算机速度的指数级增长,人工插入程序到读取器的时间比运行实际程序本身还要长。因此,我们需要一种让计算机自行操作的方式,这就是操作系统诞生的原因。
操作系统是如何帮助程序员简化与硬件外设的接口的?
-操作系统作为软件程序和硬件外设之间的中介,提供了通过APIs(应用程序接口)的软件抽象,称为设备驱动程序。这使得程序员可以使用标准化的机制与常见的输入和输出硬件,或简称I/O,进行通信。
什么是批处理(batch processing)?
-批处理是一种允许计算机一次性接收一批程序,当计算机完成一个程序后,它会立即自动开始运行下一个程序,无需人工干预,从而减少了停机时间。
多任务处理(multitasking)是如何实现的?
-多任务处理是通过操作系统的能力实现的,它允许多个程序同时在单个CPU上运行,通过聪明的调度算法,当一个程序等待I/O操作完成时,CPU可以切换到另一个就绪等待运行的程序。
虚拟内存是如何工作的?
-虚拟内存是操作系统虚拟化内存位置的方式,程序可以假定它们的内存始终从地址0开始,保持事情简单和一致。然而,实际的物理内存位置由操作系统隐藏和抽象化。当程序请求内存位置时,操作系统和CPU会自动处理虚拟到物理内存的重映射。
内存保护(Memory Protection)是什么?
-内存保护是一种功能,它为每个程序分配自己的内存块,这样如果一个程序出现问题并开始写入无意义的数据,它只能破坏自己的内存,而不是其他程序的内存。这对于防止恶意软件,如病毒,也非常有用。
Unix操作系统是如何诞生的?
-Unix操作系统是由Dennis Ritchie和Ken Thompson在Multics项目的基础上创建的,他们希望建立一个更简洁、更高效的操作系统。Unix将操作系统分为两部分:核心功能(如内存管理、多任务处理和I/O处理)的内核,以及随内核捆绑但不属于内核的有用工具(如程序和库)。
个人电脑的操作系统和大学、公司、政府使用的主框架计算机的操作系统有何不同?
-个人电脑的操作系统比大学、公司、政府使用的主框架计算机的操作系统简单得多。例如,Microsoft的磁盘操作系统(MS-DOS)只有160千字节,可以适应个人电脑的简单硬件,虽然它缺乏多任务处理和受保护的内存。
现代操作系统有哪些?
-现代操作系统包括Mac OS X、Windows 10、Linux、iOS和Android。即使我们大多数人通常只使用自己的电脑,这些操作系统都具备多任务处理以及虚拟和受保护的内存功能,可以同时运行多个程序。
为什么早期的操作系统(如MS-DOS)缺乏多任务处理和受保护的内存?
-早期的操作系统缺乏多任务处理和受保护的内存,因为个人电脑的硬件相对简单,操作系统也相应地简化。这种简化使得操作系统能够适应更便宜的硬件,尽管这意味着程序可能会经常崩溃系统,但对于当时的用户来说,简单地重启计算机是一个可以接受的折衷方案。
为什么早期的Windows操作系统会出现“蓝屏死机”?
-早期的Windows操作系统缺乏强大的内存保护功能,当程序运行出错时,可能会导致整个操作系统崩溃,表现为“蓝屏死机”。这是程序崩溃严重到足以使整个操作系统停止工作的标志。
Outlines
此内容仅限付费用户访问。 请升级后访问。
立即升级Mindmap
此内容仅限付费用户访问。 请升级后访问。
立即升级Keywords
此内容仅限付费用户访问。 请升级后访问。
立即升级Highlights
此内容仅限付费用户访问。 请升级后访问。
立即升级Transcripts
此内容仅限付费用户访问。 请升级后访问。
立即升级浏览更多相关视频
Keyboards & Command Line Interfaces: Crash Course Computer Science #22
What are the Functions of Operating System
Advanced CPU Designs: Crash Course Computer Science #9
Basic Computing Skills - Orientation
Artificial Intelligence Explained Simply in 1 Minute! ✨
The Central Processing Unit (CPU): Crash Course Computer Science #7
5.0 / 5 (0 votes)