《操作系统 - 清华大学》第一讲:操作系统概述 —— 学习内容概述

news2024/11/17 1:46:43

文章目录

  • 1. 内容摘要
  • 2. 实验内容

1. 内容摘要

在这里对学习内容做一个整体上的介绍,那在这里包括我们要学习的内容,实验的内容。操作系统课涉及到计算机系统当中的资源管理,所以我们围绕着操作系统的实现来介绍相关内容,那主要分成这样几个部分:
在这里插入图片描述

  1. 第一个操作系统软件的结构。任何一个软件在设计的时候和在实现的时候,它都有自己的结构特点。那对于操作系统来说,它有什么样的结构特点?是我们在这里需要来讨论的问题。

  2. 第二个是中断与系统调用。这说的是操作系统这个软件,它和外界打交道的这些接口。

    中断是操系统和硬件打交道的接口:操作系统在服务的过程当中,外部如果有设备有请求,比如说你敲键盘,网络有数据包来了,这时候操作系统如何对它进行响应?那这是中断里要讨论的内容。硬件上已经有了一些机制,能够对外边做一些响应,但这时候它只是做了其中第一步,比如说你敲键盘的时候,那这时候的硬件机构已经能把数据存到相应的缓冲区里头,但是缓冲区如何到应用程序里,那是操作系统需要解决的问题。

    而系统调用是操作系统对上层应用提供的服务接口。也就说上层应用要想利用操作系统提供的服务来实现自己功能,那就必须使用系统调用。而在这里头,系统调用如何从用户态的应用程序里头获取用户想使用服务的类型和相应的这些输入数据,都必须从系统调用接口来,在这里系统调用的介绍,如何让用户的输入能够到系统里头来。系统输处理完的结果如何能回到用户态?

    而接下来的这几个部分是我们操系统要管理的资源。

  3. 第一个是内存资源。也就说在计算机系统当中,由内存随机访问存储器,这部分存储能力会有很多的应用程序要使用,那如何协调各个应用对内存的使用?

    可能会是说有的应用,它需要大量的内存空间来存储数据,有的应用需要的不多,那这时候对于我们操性来说需要多少?要么是应程序告诉你我需要多少,要么是你在使用的过程中动态进行调节,而这种调节和分配内存的分配和回收是我们操系统要做的事情。

  4. 接下来一个是操作系统需要管理用户程序的执行过程

    也就是说任何一个程序在执行,它首先需要系统给它分配它执行所需要的资源,比如说 CPU、 内存和相应要访问的这些外部设备和数据资源。那有了这些资源之后,程序开始运行,在运行过程中,这些执行的状态也是在不断变化的过程当中,它可能会占用 CPU 执行指令,也可能会由于等待用户输入而进入暂停状态,这些状态的维护就是我们这里所说的进程和线程,操作系统需要维护每一个正在执行的程序它的状态。以便于在它们执行结束之后能够回收相应的资源。这是进程管理需要讨论的问题。

  5. 接下来一个是处理机调度。处理机调度是说我们有多个进程在计算机系统当中交替运行,那么如果说你只有一个 CPU,或者说你的应用进程数目是大于你 CPU 数目,做不到每一个进程有一个完全独占的 CPU 来使用,那么这时候大家是交替使用 CPU 来执行指令。

    那这种交替就需要有一个调度,到底一个正在执行的进程到什么时候才让出 CPU 使用权?下一个选择又是谁?那这是我们调度算法要解决的问题。

  6. 好,接下来一个是进程间通讯,或者叫同步互斥。这里指的是我们任何一个应用进程,它在执行的过程中它都不会是自己一个在那封闭着进行执行,不会跟外界做任何交道。我们计算机上的程序它所做到的最大的好处是由于用户输入的不同,那给出不同的处理结果,而这个处理是可以重复进行的,所以我们在这里才会有计算机程序来实现自动化的处理。那为了实现这个,计算机上的各个应用进程之间,它们是需要有一些通讯交流的,那这种交流就是我们这里的同步互斥。

    也就说两个进程之间要想进行通讯,那这个通讯是在操作系统的控制下完成的,操作系统控制下如何让这种进程间的信息交流做得流畅、安全?那这是这一部分要讨论的问题。

  7. 而下一个文件系统是说,计算机系统当中数据大到一定程度之后,那这时候就不能简单地整一张线性的表来存这些数据,那我们必须把这个数据管理起来做持久性的保存。

    而这一部分大了一定程度之后,它就变成一个系统了,在这个系统当中我们如何来组织这些文件,以便于方便用户的读写和查找?那这也是操系统要解决的问题之一。

  8. 最后一个是 IO 子系统,计算机系统当中 CPU 、内存这两个部分的种类相对来说比较少。而对于它所能够涉及的外设会有很多种,那基于一种不完全统计,我们能够连到 PC 机上的外部设备的种类应该是上万的。

    那这些差异非常大的这些外部设备对于计算机系统来说如何连上来,实际是一个很大的挑战,那对于这一部分是由操作系统里的 IO 子系统来负责管理。我们需要把这些差异非常大的这些设备连到同一个系统上来,并且都能对它们进行高效的控制。

    比如说我们键盘的速度是很慢的,那这时候两只手一起敲,一秒钟也就最多敲几十个按键。而如果说我们用的网络接口是10 G 的,那这时候它的数据量在一秒钟就是10个 GBPS,这两者之间的差异是非常大的。操作系统需要在里头提供一个尽可能统一的接口来管理尽可能范围大的这些外部设备。

从这个角度来讲,操作系统涉及到内容是非常广泛的,所以操作系统课也是一种介绍性的课程,那对每一个部分深入介绍下去都会是一个非常专门的后续课程的讨论内容。

2. 实验内容

另一个内容是实验,就基本上是围绕着我们前边的学习内容形成的8个实验:在这里插入图片描述

  1. 实验 0 是实验环境的准备。在这里不会去讲如何使用 Linux,如何使用 Windows,但是你要想在已有操系统上来做实验,那你必须知道 Windows 和 Linux 如何使用。

而下边的这8个实验基本是围绕着我们前面内容。

  1. 启动和中断对应着中断和系统调用;

    内存管理在这分成两个实验,物理内存和虚拟存储管理。

  2. 物理内存管理是负责物理存储的分配和回收;

  3. 虚拟存储实际是相当于说我们把物理存储的这些存储能力抽象成一个虚拟的存储界面,让用户在使用的时候,一种明显特征是说我可以用到比物理内存更大的一个存储环境。

  4. 而对于进程和线程,在这里分成是内核线程管理和用户进程管理这两个部分;

  5. 接下来分别是处理机调度对应的实验6

  6. 同步互斥对应实验7

  7. 文件系统对应的实验8。

这样的话,所有的这些学习主要内容在这里都有相应的实验与它对应起来。同时我们在这里头做的实验,它是一个相互关联的整体。在一开始的时候就给大家一个实验的基础代码,然后就往上添你的功能,你每添上去一个功能的时候,那你的这个实验系统它的处理能力就比原来会强一些,那你在做后续实验的时候有可能会用到你前边实现的功能,所以在这大家在做实验的时候一定不要说我在前面做实验的时候能通过测试就做完任务。有可能你在后边做实验的时候会发现你前面的那这个实验的代码会有问题,所以你对前面的实验要认真仔细去做,可以方便你后边加快实验进度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2159792.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

①大缓存ModbusRTU485数据集中采集器寄存器线圈重映射从站并发采集Modbus 串口RS485 转 RS485

大缓存ModbusRTU485数据集中采集器寄存器线圈重映射从站并发采集https://item.taobao.com/item.htm?ftt&id811821574300 产品型号: 一分一路 MS-A1-C011 一分2路 MS-A1-C021 一分4路 MS-A1-C041 一分7路 MS-A1-C071 一般技术规格 1.串口 MS-A1…

【hot100-java】【最长公共子序列】

R8-多维dp篇 直接上递推 class Solution {public int longestCommonSubsequence(String text1, String text2) {char[] stext1.toCharArray(); char[] ttext2.toCharArray(); int ns.length;int mt.length;int [][] fnew int[n1][m1];for (int i0;i<n;i){for (int j0;j<…

MySQL | 实战 | 4 种将数据同步到ES方案

文章目录 1. 前言2. 数据同步方案2.1 同步双写2.2 异步双写2.3 定时更新2.4 基于 Binlog 实时同步 3. 数据迁移工具选型3.1 Canal3.2 阿里云 DTS3.3 Databus3.4 Databus和Canal对比3.4 其它 4. 后记 上周听到公司新同事分享 MySQL 同步数据到 ES 的方案&#xff0c;发现很有意思…

02【Matlab系统辨识】白噪声

1.白噪声与有色噪声 1.1 白噪声(white noise) 系统辨识中所用到的数据通常都含有噪声。从工程实际出发&#xff0c;这种噪声往往可以视为具有有理谱密度的平稳随机过程。白噪声是一种最简单的随机过程&#xff0c;是由一系列不相关的随机变量组成的理想化随机过程。白噪声的数…

vue3 vxe-grid 通过数据库返回的列信息,生成columns,并且其中有一列是img类型,进行slots的格式化处理。

1、一般我们写死的列信息的时候&#xff0c;会这样定义&#xff1a; 2、然后我们在template里面&#xff0c;这样这样写slots格式化部分&#xff1a; 这样表格中就会展示出一张图片&#xff0c;并且&#xff0c;我们点击了可以查看大图。 3、那么我们从数据库中返回的列&#…

三菱FX5U PLC故障处理(各种出错的内容、原因及处理方法进行说明。)

对使用系统时发生的各种出错的内容、原因及处理方法进行说明。 故障排除的步骤 发生故障时&#xff0c;按以下顺序实施故障排除。 1.确认各模块是否正确安装或正确配线。 2、确认CPU模块的LED。 3.确认各智能功能模块的LED。(各模块的用户手册) 4、连接工程工具&#xff0c;启…

Golang | Leetcode Golang题解之第题432题全O(1)的数据结构

题目&#xff1a; 题解&#xff1a; type node struct {keys map[string]struct{}count int }type AllOne struct {*list.Listnodes map[string]*list.Element }func Constructor() AllOne {return AllOne{list.New(), map[string]*list.Element{}} }func (l *AllOne) Inc(ke…

分布式环境中,接口超时到底怎么处理?

目录标题 为什么会存在超时?如何应对可能发生的超时?1. 设置合理的超时时间2. 重试机制3. 熔断机制4. 监控和报警5. 日志记录6. 限流和降级7. 异步处理 以上总结 为什么会存在超时? 接口超时是分布式系统中常见的问题&#xff0c;其原因多种多样&#xff0c;涉及网络、服务…

深入探究PR:那些被忽视却超实用的视频剪辑工具

如果想要了解视频剪辑的工具&#xff0c;那一定听说过pr视频剪辑吧。如果你是新手其实我更推荐你从简单的视频剪辑工具入手&#xff0c;这次我就介绍一些简单好操作的视频剪辑工具来入门吧。 1.福晰视频剪辑 连接直达>>https://www.pdf365.cn/foxit-clip/ 这款工具操…

Docker 付费订阅价格大幅上调,免费订阅功能受限,云计算和安全产品有调整

云计算de小白 同时&#xff0c;免费的 Docker Personal 订阅将不再包含 Build Cloud 分钟数&#xff0c;支持范围将从三个 Scout 存储库变为仅一个&#xff0c;并且仅限于一个具有 2 GB 存储空间的私有 Docker Hub 容器注册存储库。 不过&#xff0c;Docker也对云计算和安全产…

【WPF】03 动态生成控件

说明 今天记录一篇关于动态生成控件的方法&#xff0c;也是反复查了一些资料&#xff0c;逐步完善成自己需要的方法&#xff0c;感觉还是比较好用的。通过这个需求&#xff0c;在网上也找了一些资料&#xff0c;发现了一个开源图形UI组件HandyControl&#xff0c;觉得比较好&a…

统信服务器操作系统【Cron定时任务服务】

Cron定时任务服务服务介绍、服务管理、服务配置 文章目录 一、功能概述二、功能介绍1. Cron 服务管理2.Cron 服务管理3.Cron 服务配置run-parts一、功能概述 cron是一个可以用来根据时间、日期、月份、星期的组合来 调度对周期性任务执行的守护进程。利用 cron 所提供的功能,可…

分布式环境中,接口超时重试带来的的幂等问题如何解决?

目录标题 幂等不能解决接口超时吗&#xff1f;幂等的重要性什么是幂等?为什么需要幂等?接口超时了&#xff0c;到底如何处理&#xff1f; 如何设计幂等?幂等设计的基本流程实现幂等的8种方案1.selectinsert主键/唯一索引冲突&#xff08;常用&#xff09;2.直接insert 主键…

【Oauth2整合gateway网关实现微服务单点登录】

文章目录 一.什么是单点登录&#xff1f;二.Oauth2整合网关实现微服务单点登录三.时序图四.代码实现思路1.基于OAuth2独立一个认证中心服务出来2.网关微服务3产品微服务4.订单微服务5.开始测试单点登录 一.什么是单点登录&#xff1f; 单点登录&#xff08;Single Sign On&…

sql语法学习:关键点和详细解释

学习SQL语法是掌握数据库操作的基础。以下是SQL语法的一些关键点和详细解释&#xff1a; 1. SQL基础 SQL&#xff08;Structured Query Language&#xff09;是一种用于管理和操作关系型数据库的标准语言。它主要包括以下几个部分&#xff1a; 数据定义语言&#xff08;DDL&…

全栈开发(五):初始化前端项目(nuxt3+vue3+element-plus)+前端代理

1.初始化前端项目 Nuxt3:搭建项目_nuxt3 项目搭建-CSDN博客、 2.配置代理 nuxt.config.ts // https://nuxt.com/docs/api/configuration/nuxt-configexport default defineNuxtConfig({devtools: { enabled: true },modules: ["element-plus/nuxt", "pinia/n…

智能PPT行业赋能用户画像

智能PPT市场在巨大的需求前景下&#xff0c;已吸引一批不同类型的玩家投入参与竞争。从参与玩家类型来看&#xff0c;不乏各类与PPT创作有关的上下游企业逐步向智能PPT赛道转型进入&#xff0c;也包括顺应生成式AI技术热潮所推出的创业企业玩家。当前&#xff0c;智能PPT赛道发…

在虚幻引擎中创建毛发/头发

在虚幻引擎中创建毛发/头发 , 首先开启两个插件 Groom 和 Alembic Groom Importer 打开蒙皮缓存 导出人物模型 将人物导入Blender , 选择需要种植头发的点 指定并选择 点击毛发 这里变成爆炸头了 , 把数量和长度调一下 切换到梳子模式 调整发型 导出为abc , 文件路径不…

基于opencv的车牌检测和识别系统(代码+教程)

车牌检测与识别技术详解 车牌检测和识别&#xff08;License Plate Recognition, LPR&#xff09;是一项重要的计算机视觉任务&#xff0c;它在交通管理、安全监控以及智能门禁系统等多个领域都有着广泛的应用。随着深度学习技术的发展&#xff0c;LPR系统的准确性和鲁棒性得到…

【算法业务】基于Multi-Armed Bandits的个性化push文案自动优选算法实践

1. 背景介绍 该工作属于多年之前的用户增长算法业务项目。在个性化push中&#xff0c;文案扮演非常重要的角色&#xff0c;是用户与push的商品之间的桥梁&#xff0c;文案是用户最直接能感知的信息。应该说在push产品信息之外&#xff0c;最重要的就是文案&#xff0c;直接能…