《操作系统 - 清华大学》1 -1:操作系统概述 —— 内容概述

文章目录

  • 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 CPU调度

  6. 同步互斥对应 实验7 同步与互斥

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

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

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

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

相关文章

优化 Go 语言数据打包:性能基准测试与分析

场景:在局域网内,需要将多个机器网卡上抓到的数据包同步到一个机器上。 原有方案:tcpdump -w 写入文件,然后定时调用 rsync 进行同步。 改造方案:使用 Go 重写这个抓包逻辑及同步逻辑,直接将抓到的包通过网…

大势智慧亮相“第十届博博会”,展现数字文旅新质生产力!

2024年8月23日至26日,由国家文物局指导,中国博物馆协会主办的第十届“中国博物馆及相关产品与技术博览会”(简称“博博会”)在呼和浩特敕勒川国际会展中心成功举办。 呼和浩特敕勒川国际会展中心 大势智慧携数字文旅全栈解决方案以…

SpringBoot框架下的客户管理策略

1 绪论 1.1研究背景 随着网络不断的普及发展,企业客户管理系统依靠网络技术的支持得到了快速的发展,首先要从员工的实际需求出发,通过了解员工的需求开发出具有针对性的首页、个人中心、员工管理、客户信息管理、行业类型管理、项目信息管理、…

新能源汽车充电桩怎么选?

新能源汽车是我国七大战略性新兴产业之一,已成为汽车产业转型升级的重要推动力。毫无疑问。充电桩作为我国新能源汽车产业链下游的重要环节,在国家政策的大力支持和市场需求的带动下,有着非常广阔的前景。安科瑞叶西平187-06160015 新能源汽…

数据结构---顺序表之单链表

1.链表的概念 链表是一种逻辑上是线性的,但物理结构不一定是线性的数据结构,它通过链表中的指针链接次序实现的 链表的存储空间是我们通过动态内存开辟的内存空间,所以他们的地址可能是连续的也可能不是连续的 2.链表的分类 1.单向或者双向…

Footprint Analytics: 我们为何打造 Growthly 这款产品

在 Web3 的领域内,数据已成为新的“财富”。在 Footprint Analytics,我们始终站在区块链数据分析的最前沿,提供全方位的解决方案,为 Web3 生态中的企业和项目简化数据分析的复杂性。然而,随着我们对客户需求及行业趋势…

VLAN原理与接口

在学习之前,先抛出问题:什么是VLAN?VLAN工作原理是什么?VLAN如何配置? VLAN的定义 VLAN(Virtual Local Area Network,虚拟局域网)是一种在逻辑上将局域网设备从物理上划分的网络技…

一种单目标A*算法设计与实现

一种单目标A*算法设计与实现 作者:吴屏珊 最近在学习简单的单目标A*算法,其中在CSDN上阅读到的一篇博文给了我很大启发,于是在该博文的基础上,笔者记录了一点自己对于A*算法的体会和感悟。原文链接 目录 文章目录 一种单目标A*…

微信接口报错:Http头Authorization中的timestamp与 发起请求的时间不得超过5分钟

在发起请求的时候微信会自己封装一个系统时间 当服务器系统时间与实际实际相差5分钟或者5分钟以上就会出现这个错误 需要修改系统时间 问一下ChatGPT 用自动同步 sudo timedatectl set-ntp true 服务器执行 , 过个一分钟 再查看时间 发现正确 再支付就可以成功…

Spring6梳理11——依赖注入之注入List集合类型属性

以上笔记来源: 尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解)https://www.bilibili.com/video/BV1kR4y1b7Qc 11 依赖注入之注入List集合类型属性 11.1 创建实体类Emp以及Dept Dept类中添加了遍历Emp…

Java语法-类和对象(上)

1. 面向对象的初步认识 1.1 什么是面向对象 概念: Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。 1.2 面向对象VS面向过程 如:洗衣服 面向过程: 注重的是洗衣服的过程,少了一个环节也不…

七层负载均衡和四层负载均衡的区别

文章目录 什么是七层负载均衡?一、定义与工作原理二、优点与缺点三、应用场景四、常见七层负载均衡器五、负载均衡算法 什么是四层负载均衡?一、定义与原理定义:原理: 二、特点与应用场景特点:应用场景: 三…

python类的call方法与init方法

1. call方法 在对象被调用了的时候就会调用call方法a(666) class A:def __call__(self, args):print(call 方法被调用了,args) aA() a(666) 2.init方法 创建对象的时候 init 方法被调用 class A:def __init__(self,args):print(创建对象的时候 init 方法被调用了,args) aA(…

三、LLM应用开发准备工作

LLM应用开发准备工作 开发基础开发工具大模型kx上网key的配置与使用网站结语 开发基础 最好具备一定的Python开发基础,不需要特别深 如果不具备,可以先学习一下基础知识(概念),比如Python环境管理、包管理与使用、基本…

城市酷选:如何四年做到3000亿销售额 会员超500w

城市酷选,这一融合了线上线下消费的会员制社交电商平台,正以其独特的运营模式在市场中崭露头角。该平台不仅汇聚了超过600万的会员与60万商家,更实现了年交易额的百亿突破,彰显了其强大的市场影响力和消费者吸引力。 创新排队免单…

必应bing推广kai户流程教学,满足企业获客需求

微软Bing广告提供了三种主要广告类型,可以满足大多数出海企业的展示和客户获取需求。 搜索广告(Search Ads) 包括标准搜索广告和动态搜索广告。当用户的搜索词与投放的关键词匹配时,相应的搜索广告会被触发,向用户展示…

基于深度学习的数字识别系统的设计与实现(python、yolov、PyQt5)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

Nginx 的优化与防盗链设置

Nginx的优化 隐藏版本号 暴露版本号,攻击者就可以根据版本漏洞进行攻击。 查看版本号的方法: curl -I http://192.168.110.60 网页访问F12查看源代码 隐藏版本号的方法 方法一、修改配置文件 添加关闭版本号 vim /usr/local/nginx/conf/nginx.conf…

构建高效企业客户管理系统:SpringBoot应用

1 绪论 1.1研究背景 随着网络不断的普及发展,企业客户管理系统依靠网络技术的支持得到了快速的发展,首先要从员工的实际需求出发,通过了解员工的需求开发出具有针对性的首页、个人中心、员工管理、客户信息管理、行业类型管理、项目信息管理、…

心觉:早上醒来是先冥想还是先洗漱,如何提高冥想的质量

Hi,我是心觉,与你一起玩转潜意识、脑波音乐和吸引力法则,轻松掌控自己的人生! 挑战每日一省写作179/1000天 很多人在学习冥想的时候会有一个疑惑? 都知道在半睡半醒的状态下冥想效果最好 那么早上醒来之后&#xf…