Berkley CS162 操作系统第一课文字版-课程介绍(下)

简介: Berkley CS162 操作系统第一课文字版-课程介绍(下)

然后,时钟周期到了,需要切换:


image.png


这时候,处理器将进程 1 的寄存器内容保存起来(这个涉及到线程控制块,后面的课程会说),加载进程 2 执行需要的内容到寄存器开始执行,然后访问的是进程 2 的内存空间。

如果进程 2 尝试访问不是进程 2 内存空间的内存,比如进程 1 的内存空间会发生什么呢?这时候就会发生 Segmentation Fault(core dumped)这个错误,然后进程就会被操作系统停止。


image.png


其实,操作系统这里提供了一个保护边界,虽然这些进程都在同一个硬件上运行,但是操作系统可以防止进程访问不该访问的地方,保护进程不受其他进程的影响


image.png


最后,操作系统也作为粘合剂提供一些必不可少的服务,也就是程序会用到的公共服务(common service),例如文件系统服务,可视化界面服务,网络服务等等。这些公共服务通常是与紧密链接的,你在写程序的时候使用这些库来使用这些服务

这样,我们第一节课的内容基本就讲完了,你也对操作系统有了一个基本的理解与概念,最后我们提一下是什么让操作系统令人兴奋和具有挑战性。


image.png


这就是操作系统令人兴奋的地方,世界是一个巨大的分布式系统,如图所示,所有的设备从一端横跨全球的大规模集群,到小型微机系统设备和物联网设备以及介于两者之间的所有设备。这就是为什么我认为操作系统是如此令人兴奋,因为只有正常的操作系统才能让一切正常工作。


image.png


你们肯定知道摩尔定律(这也是伯克利大学的教授提出的),即每 1.5 年左右晶体管数量会翻倍。



image.png


但是在 21 世纪初,这个速度还是减缓了,因为人们发现把这些晶体管越来越多地放到芯片上,在电容和功率方面遇到了问题。在过去,你可以等上几年就能得到相当于你现在使用的机器两倍的性能,在21世纪的某个时候,这种趋势突然停止了。这怎么办呢?突然间人们不得不制造多核处理器,并设计大量并行计算


image.png


功率密度,电容,很多东西都是导致人们突然制造多核的原因,而不是以让速度更快为目的的,但是速度确实提高了.但是,摩尔定律要结束了,虽然不是正式的结束,但是已经无法维持原来的增长了。但这并不意味着人们不再把许多设备挤在一起,用网络连接它们,这只是意味着网络变得更加重要,而网络正常工作的基石就是我们要学习的操作系统

另一件事是存储容量不断增长:


image.png


所以我们有更多的设备更多的存储空间,更多的设备更多的存储空间更多的人意味着对操作系统的需求更大,这就是为什么我们要学习操作系统的另一个原因。


image.png


但是,学习操作系统的是一件很有挑战的事情,挑战主要来自于复杂度。应用程序由许多软件模块组成,运行在许多不同硬件平台上的许多设备上,可能还会受到恶意攻击导致失败,通过在所有可能的环境和组件组合下测试来完善软件是不可行的,我们必须学习如何以基本可行的方式来构建这些复杂的系统。

相关文章
|
Linux 图形学 Windows
嵌入式课程实现Linux操作系统LVGL移植操作
嵌入式课程实现Linux操作系统LVGL移植操作
|
弹性计算 运维 监控
进阶课程:在 ACK 中如何使用容器优化的操作系统|学习笔记(二)
快速学习进阶课程:在 ACK 中如何使用容器优化的操作系统
进阶课程:在 ACK 中如何使用容器优化的操作系统|学习笔记(二)
|
安全 Unix 调度
CS162操作系统课程第二课-4个核心OS概念(下)
CS162操作系统课程第二课-4个核心OS概念(下)
CS162操作系统课程第二课-4个核心OS概念(下)
|
安全 物联网 数据安全/隐私保护
CS162操作系统课程第二课-4个核心OS概念(中)
CS162操作系统课程第二课-4个核心OS概念(中)
CS162操作系统课程第二课-4个核心OS概念(中)
|
存储 缓存 程序员
CS162操作系统课程第二课-4个核心OS概念(上)
CS162操作系统课程第二课-4个核心OS概念(上)
CS162操作系统课程第二课-4个核心OS概念(上)
|
存储 缓存 编译器
Berkley CS162 操作系统第一课文字版-课程介绍(中)
Berkley CS162 操作系统第一课文字版-课程介绍(中)
Berkley CS162 操作系统第一课文字版-课程介绍(中)
|
2月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
71 0
Vanilla OS:下一代安全 Linux 发行版
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
81 4
|
2月前
|
人工智能 安全 Linux
|
3月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。
下一篇
开通oss服务