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

简介: Berkley CS162 操作系统第一课文字版-课程介绍(上)
熟肉视频地址:


第一节课主要是关于课程介绍以及操作系统是什么、为什么这么重要的简介。现代最伟大的发明之一是互联网,它把全世界不同规模的设备都通过统一的网络连接在了一起:


image.png


互联网的发展很迅猛,像最初的ARPANET,不能处理超过256个设备,大概是在90年代初万维网开始发展的时候,互联网突然变成了很多人可以使用的东西,现在我们的互联网上大概有 45 亿台设备,覆盖了世界的 60% 的人口。另一件有趣的事情是在这张图片中也有设备的多样性:



image.png


我们再来看看贝尔定律,他表示一个人拥有的设备的数量:


image.png


最初,数百万人使用一台计算机,然后随着发展,现在你们每个人可能都有数百个设备在为你们工作,比如现代汽车有数百个处理器,你们都有手机,笔记本电脑等等。每个人的电脑数量随着电脑的大小变小而增加,这很有趣。

如何让这么多系统正常运作并且连接在一起,我们就要考虑这个耗时尺度的问题:


image.png


这个图也是大家经常能看到的,大小越小的存储离 CPU 越近访问速度越快,大小越大离 CPU 越远访问速度越慢。不管怎样,操作系统必须在这些不同的耗时尺度正常运作,让系统正常运行。


image.png


操作系统基本上是所有这些的核心,你在底层技术上不断取得令人难以置信的进步的同时,会造成每个设备都有一些不同的差异性,每一代技术的发展都会有所不同,但是不管硬件有多复杂,你都要为应用程序提供一个一致的编程抽象;同时,需要管理不同应用之间的资源共享,我们连接的设备越多,可以共享的资源就越多。另外,到这学期的最后三分之一的时候,我们将开始讨论其中的一些非常有趣的点对点系统,这样我们可以拥有跨越许多设备的巨大存储系统。

我们会学习操作系统的关键组成:

  • 进程
  • 线程,并发,调度,协调
  • 地址空间
  • 保护,隔离,共享,安全
  • 通信,协议
  • 持久化存储,事务,一致性,弹性
  • 设备接口


image.png


在你想访问一个网页的时候,背后发生了什么?首先,会发出一个 DNS 请求试图找出这个网站的 IP 地址,这个请求会到网络上的 DNS 服务器,他们会返回有用的信息,之后使用这些信息,将实际网页请求发出;经过网络路由,之后它可能会被送到一个有负载均衡器的数据中心;然后将从几个可能的设备中选择一个可用的设备;然后,它可能会从页面存储中进行搜索和检索信息,把它拼成你可以用的页面之后返回。一旦我们开始深入思考这个流程中的细节,就会有很多有趣的问题,比如 DNS 服务器是如何保持一致的,为什么很难黑进它们呢?事实上,在 2000 年中期,有人侵入了它们。还有就是你如何确保数据包有足够的优先权当它们进入一个操作系统时,确保你的特响应查询不会被延迟很长时间,这是一个调度相关的问题。希望在这堂课结束时,你将对操作系统的各个部分有足够的了解,能够帮助你对这些问题有更好的理解。


image.png


那什么是操作系统呢?这方面其实没有统一的概念,但是我们可以从操作系统做的事情来理解什么是操作系统。操作系统负责:

  • 内存管理
  • IO管理
  • CPU 调度
  • 通信
  • 多任务处理或多处理器编程
    操作系统和什么有关呢?文件系统?多媒体系统?用户界面?还有浏览器?


image.png


对于操作系统的定义,我们很难给出,一个近似的定义是当你订购操作系统时供应商提供的所有东西,但是不同的供应商提供的东西差别很大,它可能是电脑上一直在运行的一个程序即内核(kernel),随着学期的进行,你们会学到很多关于内核的知识。没有人会否认内核是操作系统的核心,但是当我们试图深入研究什么是操作系统时,你们要记住,我们要讲的是它的作用和重要的部分,但也许你永远不会完全知道到底操作系统是什么。


image.png


其实操作系统可以理解为是一个典型的软件层,它提供应用程序对硬件资源的访问,这是对复杂硬件设备的方便抽象以及对共享资源的受保护访问通信,以及提供安全性保护认证


image.png

相关文章
|
11月前
|
Linux 图形学 Windows
嵌入式课程实现Linux操作系统LVGL移植操作
嵌入式课程实现Linux操作系统LVGL移植操作
|
弹性计算 运维 监控
进阶课程:在 ACK 中如何使用容器优化的操作系统|学习笔记(二)
快速学习进阶课程:在 ACK 中如何使用容器优化的操作系统
134 0
进阶课程:在 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概念(上)
|
2月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
2月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
1月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
2月前
|
Linux 测试技术 数据安全/隐私保护
阿里云Linux os copilot 运维助手初体验
阿里云Linux os copilot 初体验
381 1
阿里云Linux os copilot 运维助手初体验
|
2月前
|
弹性计算 运维 自然语言处理
阿里云OS Copilot测评:重塑Linux运维与开发体验的智能革命
阿里云OS Copilot巧妙地将大语言模型的自然语言处理能力与操作系统团队的深厚经验相结合,支持自然语言问答、辅助命令执行等功能,为Linux用户带来了前所未有的智能运维与开发体验。