【操作系统复习之路】操作系统概述(复习的同学有福啦)

长话短说,就记下笔记,期待期末90+,随便希望能帮助到有需要的同学。

目录

一、操作系统的目标和作用 

二、操作系统的发展过程

2.1 无OS

2.2 有OS

【1】批处理系统

【2】分时系统

【3】实时操作系统

【4】三种基本操作系统的比较:

三、操作系统的基本特征

3.1 并发

3.2 共享 

3.3 虚拟 

3.4 异步性

四、操作系统的主要功能

五、操作系统的运行机制

 六、操作系统体系结构

6.1 模块化结构

6.2 分层结构

6.3 大内核 和 微内核

6.4 外核(略)

 七、中断和异常

7.1 内中断

7.2 外中断

八、系统调用

九、结尾

Reference 


一、操作系统的目标和作用 

OS的目标:方便性、有效性、可扩充性、开放性。

OS的作用:(书上P003)

作为用户与计算机硬件系统之间的接口

  1. 命令方式:指由OS提供了一组联机命令 (语言), 用户可通过键盘输入有关命令,来直接操纵计算机系统。
  2. 系统调用方式:OS提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用,来操纵计算机。(下文详细介绍)
  3. 图标–窗口方式:用户通过屏幕上的窗口和图标来操纵计算机系统和运行自己的程序。

● 作为计算机系统资源的管理者 (处理机管理,存储器管理,I/O设备管理,文件管理

● 实现了对计算机资源的抽象(用作扩充机器)  

I/O设备管理软件提供读写接口,文件管理软件提供操作文件接口。通常把覆盖了这些软件的机器称为扩充机器或虚拟器。它向用户提供了一个对硬件操作的抽象模型,用户可利用该模型提供的接口使用计算机,无需了解物理接口实现的细节,从而使用户更容易地使用计算机的硬件资源。由此可见,OS是铺设在计算机硬件上的多层软件的集合。

总的来说OS是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合。

二、操作系统的发展过程

2.1 无OS

人工操作方式: 用户既是程序员又是操作员。
  • 用户独占全机
  • CPU等待人工操作
脱机 I /O 方式:由于程序和数据的输入和输出都是在外围机的控制下完成,或者说,它们是在脱离主机的情况下进行的,故称为脱机I/O方式。
  • 减少了CPU的空闲时间
  • 提高了I/O速度

2.2 有OS

【1】批处理系统

批处理是指计算机系统对一批作业自动进行处理的一种技术。

1、单道批处理系统

为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统 。

虽然其提高了系统资源的利用率和系统吞吐量,但是缺点也显而易见:

内存中仅有一道程序,在程序运行中发出I/O请求后,CPU处于等待状态。

2、多道批处理系统

用户所提交的作业先存放在外存上,排成一个“后备队列”,由作业调度程序按照一定的算法从队列中选择若干作业进入内存(后续会讲解),这些作业共享CPU和系统中的各种资源。

由于存在多个程序,因此CPU可以在一个作业的I/O阶段进行另一个作业的处理。多道程序交替运行,使CPU始终处于忙碌状态。

【2】分时系统

如果说推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是用户的需求。或者说,分时系统是为了满足用户需求所形成的一种新型OS。它与多道批处理系统之间,有着截然不同的性能差别。

概念:是一种联机的多用户交互式的操作系统。其将系统处理机时间与内存空间按一定的时间间隔,轮流地切换给各终端用户的程序使用。由于时间间隔很短,每个用户的感觉就像他独占计算机一样。

表现:

  • 人—机交互
  • 共享主机

特征:

  • 多路性、独立性、及时性、交互性 

【3】实时操作系统

所谓“实时”,是表示“及时”,而实时系统是指系统能及时(或实时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

实时系统的类型:

  1. 实时控制系统:要求计算机能尽快处理测量系统测得的数据,以尽快实施响应控制。如:工业控制;导弹发射;飞机飞行。

  2. 实时信息系统:要求计算机能对终端设备发来的服务请求及时予以正确的回答。如:订票系统;情报检索系统

特征:

  • 快速的响应时间、有限的交互能力、 高可靠性

【4】三种基本操作系统的比较:

三、操作系统的基本特征

前面所介绍的多道批处理系统、分时系统和实时系统还共同具备:并发、共享、虚拟、异步四个基本特征。

3.1 并发

区别并发和并行: 

  • 并发:指两个或多个事件在同一时间间隔内发生。
  • 并行:指两个或多个事件在同一时刻发生。

3.2 共享 

指系统中的资源供内存中的多道程序所共同使用。

目前主要有以下两种共享方式(一定要注意区分):

● 互斥共享方式

系统中的某些资源,如打印机、磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)访问该资源,我们把这种资源共享方式称为互斥式共享。

● 同时访问方式

允许在一段时间内由多个进程 “同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。

并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是互为存在的条件。

3.3 虚拟 

指通过某种技术把一个物理实体变成若干个逻辑上的对应物。

物理实体(前者)是实的, 即实际存在的;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、 虚拟外部设备和虚拟信道等。

在OS中是利用时分复用和空分复用技术来实现“虚拟”的,这里不做探讨(P016有介绍)

3.4 异步性

由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,那么系统中并发执行的多道程序“走走停停”,以不可预知的速度向前推进。

四、操作系统的主要功能

引入OS的主要目的为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用为此,在传统的OS中应具备处理机管理、存储器管理、设备管理和文件管理等基本功能。此外,为了方便用户使用OS,还需要向用户提供方便的用户接口。

由于这一章主要讲OS概述,所以详细内容请期待下次更新哦!

【1】处理机管理功能

  • 进程控制
  • 进程同步
  • 进程通信
  • 调度

【2】存储器管理功能

  • 内存分配
  • 内存保护
  • 地址映射
  • 内存扩充 

 【3】设备管理功能

  • 缓冲管理
  • 设备分配
  • 设备处理

【4】 文件管理功能

  • 文件存储空间的管理
  • 目录管理
  • 文件的读/写管理和保护

【5】OS与用户之间的接口

  • 用户接口
  • 程序接口 

【6】现代操作系统的新功能

  • 系统安全
  • 网络的功能和服务
  • 支持多媒体 

五、操作系统的运行机制

主要介绍上图涉及的基本概念,建议一定要理解,之后学到后面,这张图将会焕然一新!

我们普通程序员写的程序就是:“ 应用程序 ”

微软、苹果哪些负责实现操作系统的高手,写的就是“ 内核程序 ”。

由很多内核程序组成的叫:“操作系统内核”,或俗称“内核”。它是OS中最重要最核心的部分,也是最接近硬件的部分。

应用程序只能使用“非特权指令”,如加法、减法指令等。

但是如内存清零指令,这些特权指令影响很大,只能内核程序来使用。

CPU有两种状态:内核态 和 用户态

  • 处于内核态,说明此时正在运行的是内核程序,此时可以执行特权指令
  • 处于用户态,说明此时正在运行的是应用程序,此时只能执行非特权指令
CPU有个叫程序状态寄存器(PSW),来标记是什么状态。

这里看不懂,继续往下面看,看完体系结构和中断后,说不定就茅舍顿开了! 

 六、操作系统体系结构

建议还是认真去看看书上P24~P33的文字介绍,不然学到后面,你就会发现学的很散。

 在分别介绍它们之前,先带大家介绍下:内核

内核是操作系统最基本、最核心的部分。实现操作系统内核功能的哪些程序就是内核程序。

上图中时钟管理、中断处理和原语,就顺便在这里简介以下吧,后面会详解的。

● 时钟管理:实现记时功能

● 中断处理:实现中断机制

● 原语:是一种特殊的程序,处于操作系统最底层,是最接近硬件的部分。这种程序的运行具有原子性(其运行只能一气呵成,不可中断)。运行时间较短,调用频繁

● 注意:

  • 操作系统内核需要运行在内核态
  • 操作系统的非内核需要运行在用户态

6.1 模块化结构

模块化是将操作系统按功能划分为若干个具有一定独立性的模块。每个模块具有某方面的管理功能,并规定好各模块间的接口,使各模块之间能通过接口进行通信。还可以进一步将各模块细分为若干个具有一定功能的子模块,同样也规定好各子模块之间的接口。把这种设计方法称为模块-接口法,如下图所示为由模块、子模块等组成的模块化操作系统结构。

特性:

● 将内核划分为多个模块,各模块之间相互协作。

● 内核=主模块+可加载内核模块

  • 主模块:只负责核心功能,如进程调度、内存管理
  • 可加载内核模块:可以动态加载新模块到内核,而无需重新编译整个内核 (优势)

优点:

● 模块间逻辑清晰易于维护,确定模块间接口后,即可多模块同时开发
● 支持动态加载新的内核模块(如按照设备驱动程序、安装新的文件系统模块到内核),增强OS适应性
● 任何模块都可以直接调用其他模块,无需采用信息传递进行通信,效率高

缺点:

● 模块间的接口定义未必合理、实用

● 模块间相互依赖, 更难调试和验证

6.2 分层结构

最底层是硬件,最高层是用户接口,每层可调用更低一层。

 

特性:

● 内核分多层,每层可单向调用更低一层提供的接口

优点:

● 便于调试和验证, 自底向上逐层调试验证 

● 易扩充和易维护, 各层之间调用接口清晰固定 

缺点:

● 仅可调用相邻低层,难以合理定义各层的边界

● 效率低, 不可跨层调用, 系统调用执行时间长

6.3 大内核 和 微内核

微内核特性:只把中断、原语、进程通信等最核心的功能放入内核。进程管理、文件管理、设备管理等功能以用户进程的形式运行在用户态 。

大内核特性:所有的系统功能都放在内核里(大内核结构的OS通常也采用了“模块化”的设计思想)


微内核优点

● 内核小功能少、易于维护,内核可靠性高

● 内核外的某个功能模块出错不会导致整个系统崩溃

大内核优点

● 性能高,内核内部各种功能都可以直接相互调用


微内核缺点

● 性能低,需要频繁的切换用户态/核心态

● 用户态下的各功能模块不可以直接相互调用, 只能通过内核的"消息传递"来间接通信

大内核缺点

● 内核庞大功能复杂, 难以维护

● 大内核中某个功能模块出错, 就可能导致整个系统崩溃


6.4 外核(略)

非常少见!!!

 七、中断和异常

CPU上会运行两种程序,一种是操作系统内核程序(整个系统的管理者),一种是应用程序。

在合适的情况下,操作系统内核会把CPU的使用权主动让给应用程序(第二章进程管理相关内容)。但是你不能一直占着CPU,一直运行这个应用程序啊!!!

那么“ 中断 ”就是让操作系统内核夺回CPU使用权的唯一途径。

扩充:

内核态 -> 用户态:执行一条特权指令(修改PSW的标志位为“用户态”),这个动作意味着操作系统将主动让出CPU的使用权。

用户态 -> 内核态:由“中断”引发,触发中断信号意味着操作系统将强行夺回CPU的使用权。

中断机制的基本原理:

首先检查中断信号是内中断还是外中断,然后会根据中断信号的类型去查询“中断向量表”,以此来找到相应的中断处理程序在内存中的位置。

显然,中断处理程序一定内核程序,需要运行在“内核态”。

7.1 内中断

当前执行的指令有关,中断信号来源于CPU内部

陷阱、陷入】:由陷入指令引发,是应用程序故意引发的
故障】:由错误条件引起的, 可能被内核程序修复。内核程序修复故障后会把CPU使用权还给应用程序,让它继续执行下去。如: 缺页故障。
 【终止】由致命错误引起, 内核程序无法修复该错误,因此一般不再将CPU使用权还给引发终止的应用程序,而是直接终止该应用程序。如:整数除0,非法使用特权指令。
 

发生情况举例:

例1:试图在用户态下执行特权指令(比如黑客向正在运行的应用程序植入一条特权指令)

例2:执行除法指令时发现除数为0

例3:有时候应用程序想请求操作系统内核的服务,此时会执行一条特殊的指令(陷入指令),该指令会引发一个内部中断信号。

执行 “陷入指令”,意味着应用程序主动地将CPU控制权还给操作系统内核。例如:

“系统调用” 就是通过陷入指令完成的

7.2 外中断

当前执行的指令无关,中断信号来源于CPU外部

 例1:时钟中断(由时钟部件发来的中断信号)

因为这个时钟部件每隔一个时间片(如50ms)会给CPU发送一个时钟中断信号,因此这可以用来实现多道程序并发运行(特别重要)。

解释:比如CPU在运行应用程序1,50ms之后会收到一个时钟中断信号,那么CPU转而运行时钟中断的内核程序,当处理完成后,内核程序发现应用程序1已经运行了50ms了,因此为了公平起见,接下来让另一个应用程序上CPU运行…………

 例2:I/O中断(由输入/输出设备发来的中断信号)

比如说某一个应用程序可能会请求打印机的打印服务,那么打印机在打印输出完成后,会向CPU发送中断信号,用来通知CPU我的任务已经完成了,接下CPU处理I/O中断的内核程序…… 

其实每条指令执行结束后,都会例行检查是否有外中断信号需要处理。 

八、系统调用

知识点回顾:

操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务。主要包括命令接口和程序接口。其中程序接口由一组系统调用组成。

GUI:图形用户界面

联机命令接口(交互式命令接口):适用于分时或实时操作系统,cmd中的各种命令就是联机命令接口

脱机命令接口(批处理命令接口):适用于批处理系统,写好了一个.bat文件再在cmd中执行它就是脱机命令接口

系统调用:是操作系统提供给应用程序(程序人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务

系统调用与库函数的区别:

  • 有的库函数是对系统调用的进一步封装(使程序员编程方便,如“创建一个新文件”的函数)
  • 有的库函数没有使用系统调用(如“取绝对值”的函数)

系统调用是非常必须的,等下一章我们学到进程同步,当两个进程并发的共享一个资源时,比如说一个文件,你在写,我也在写,最终不乱七八糟了嘛?

解决方法(原理):由操作系统内核对共享资源进行统一的管理, 并向上提供“系统调用”, 用户进程想要使用打印机这种共享资源, 只能通过系统调用向操作系统内核发出请求。内核会对各个请求进行协调处理。

应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等), 都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。


系统调用的过程

正如在内中断哪里讲的,“系统调用” 就是通过陷入指令完成的

此时正在运行的是应用程序,CPU处于用户态,应用程序向CPU传入陷入指令(即内中断信号),然后转入相应的中断处理程序(即系统调用的入口程序),此时CPU就转换成内核态,并判断用户需要那种系统调用服务。

注意:

1、陷入指令时在用户态执行的,执行陷入指令之后立即引发一个内中断,从而CPU进入核心态

2、发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行。

3、陷入指令是唯一一个只能在用户态执行,而不可在核心态执行的指令

九、结尾

最后,非常感谢大家的阅读。我接下来还会更新第二章:【进程的描述与控制】 ,如果本文有错误或者不足的地方请在评论区(或者私信)留言,一定尽量满足大家,如果对大家有帮助,还望三连一下啦!

我的个人博客,欢迎访问 !

Reference 

【1】 汤子瀛, 哲凤屏, 汤小丹,梁红兵. 计算机操作系统[第四版]. 西安电子科技大学出版社

【2】王道计算机考研 操作系统_哔哩哔哩_bilibili

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

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

相关文章

域环境共享文件夹,容量配额管理

首先,我们先创建一个新的磁盘,必须在服务器关机的状态下创建,只有在关机状态下才能创建NVMe类型的磁盘。 打开此电脑,右击创建的磁盘,点击属性。 点击共享,点击高级共享。 将共享此文件夹勾选上&#xff0c…

从代码到可执行到运行的整体流程与原理

个人主页:Lei宝啊 愿所有美好如期而遇 前言 本篇文章将会介绍,磁盘中是如何存储一个文件,磁盘中的文件是如何从磁盘中加载进内存,与进程又有怎样的关系,我们写的代码变成可执行程序执行起来时如何完成对文件的一系列…

ubuntu系统下如何使用vscode编译和调试#小白入门#

编程环境:ubuntu系统为18.04.1,vscode版本为1.66.2 一、VSCode切换中文显示: 1、vscode安装完成后启动,在左侧externsions中搜索“简体中文”插件,并完成安装: 2、选择右下角齿轮形状的"Manage"&#xff…

YOLOv5全网独家改进: 红外小目标 | 注意力机制改进 | 并行化注意力设计(PPA)模块,红外小目标暴力涨点 | 2024年3月最新成果

💡💡💡本文独家改进:红外小目标涨点利器,在多个数据集下进行验证,其中并行化 patch-aware 注意力(PPA)模块,解决目标的大小微小以及红外图像中通常具有复杂的背景的问题点 💡💡💡红外小目标实现暴力涨点,只有几个像素的小目标识别率大幅度提升 改进结构图如…

算法---动态规划练习-7(按摩师)【类似打家劫舍】

按摩师 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址:点这里 2. 讲解算法原理 首先,给定一个整数数组 nums,其中 nums[i] 表示第 i 天的预约时间长度。 定义两个辅助数组 f 和 g,长度都为 n(n 是数组…

Gartner 公布 2024 年八大网络安全预测

近日,Gartner 安全与风险管理峰会在悉尼举行,旨在探讨网络安全的发展前景。 本次峰会,Gartner 公布了 2024 年及以后的八大网络安全预测。 Gartner 研究总监 Deepti Gopal 表示,随着 GenAI 的不断发展,一些长期困扰网…

【项目技术介绍篇】若依管理系统功能介绍

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

【Web应用技术基础】CSS(5)——表格样式

第一题&#xff1a;表格边框 .html <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>HTML – 简单表格</title><link rel"stylesheet" href"step1/CSS/style.css"></head><bod…

Windows无法安装torch==1.4.0

在conda中&#xff0c;每创建一个虚拟环境&#xff0c;就要重新配置其中的pytorch 这次我创建的虚拟环境需要torch1.4.0的版本。 torch网址&#xff1a;https://pytorch.org/get-started/previous-versions/ 解决办法 按以下代码进行安装&#xff1a; pip install torch0.4.0…

JAVA HTTP大文件断点续传上传

功能&#xff1a;大文件上传&#xff0c;断点续传&#xff0c;文件夹上传&#xff0c;重复文件检测&#xff0c;离线进度信息保存&#xff0c;音视频信息读取 优势&#xff1a;无限授权&#xff0c;开源开放&#xff08;自主可控&#xff09;&#xff0c;长期维护 场景&#…

动态规划入门(数字三角形模型)

备战2024年蓝桥杯&算法学习 -- 每日一题 Python大学A组 试题一&#xff1a;摘花生 试题二&#xff1a;最低通行费用 试题三&#xff1a;方格取数 试题四&#xff1a;传纸条 试题一&#xff1a;摘花生 【题目描述】 Hello Kitty想摘点花生送给她喜…

CImage 类及其常用成员函数用法实例详解 一

Cimage类是一个用于处理图像的类&#xff0c;它的主要用途是方便地创建、编辑、保存和显示图像。Cimage类支持多种图像文件格式&#xff0c;包括BMP、GIF、JPG、PNG和TIF等。较CBitmap类使用起来更方便。其构造函数及成员函数如下&#xff1a; 下面详细说明CImage常用成员函数的…

mysql80-DBA数据库学习1-数据库安装

掌握能力 核心技能 核心技能 mysql部署 官网地址www.mysql.com 或者www.oracle.com https://dev.mysql.com/downloads/repo/yum/ Install the RPM you downloaded for your system, for example: yum install mysql80-community-release-{platform}-{version-number}.noarch…

String类相关oj练习

1.第一次只出现一次的字符 做题首先看清要求和提示&#xff1a; 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&#xff0c;则返回 -1 。 提示&#xff1a; 1 < s.length < 105s 只包含小写字母 这就要用到我们所学…

如祺出行冲刺上市:三年被罚款270万元,销售费用远高于研发开支

3月26日&#xff0c;Chenqi Technology Limited&#xff08;如祺出行&#xff09;再次递交招股书&#xff0c;准备在港交所主板上市&#xff0c;中金公司、华泰国际、农银国际为其联席保荐人。据贝多财经了解&#xff0c;如祺出行曾于2023年8月递表。 相较于此前招股书&#xf…

蓝桥杯 java 凑算式 16年省赛Java组真题

题目 思路&#xff1a; 求有多少种解法 比如:68/3952/714就是一种解法&#xff0c;53/1972/486 是另一种解法 8/3952/714是可以除尽的 但是后面一个不行 所以我们也要通分 代码&#xff1a; public class 凑算式 {static int[] a {1, 2, 3, 4, 5, 6, 7, 8, 9};static int c…

Docker常见软件部署2

1 docker 安装redis集群 docker 安装redis集群&#xff0c;3主3从的配置。 1 创建一个redis通信网卡 #创建一个redis集群使用的网卡 docker network create redis --subnet 172.38.0.0/16 2 创建6个redis的配置文件 #通过脚本创建六个redis配置&#xff0c;复制下面命令直接…

DBRX: A New State-of-the-Art Open LLM——基于专家LLM

刷知乎的时候&#xff0c;发现最近开源了一个新的大模型DBRX&#xff0c;同样是基于专家的大模型。之前找MOE的源码没找到&#xff0c;仅仅找到了一些博主写的博客内容&#xff0c;简单了解了一下内容。之前写的模型&#xff1a;Mixtral MOE代码理解添加链接描述。简单看了一下…

Kubernetes 知识体系 系列一

多年前&#xff0c;大多数软件应用程序都是大型的单体&#xff0c;要么作为单个进程运行&#xff0c;要么作为少数服务器上的少量进程运行。这种过时的系统一直延续很久。 它们的发布周期较慢&#xff0c;更新相对较少。 在每个发布周期结束时&#xff0c;开发人员将整个系统…

第三十二天-PythonWeb主流框架-Django框架

目录 1.介绍 发展历史 介绍 2.使用 1.安装 2.创建项目 3.项目结构 4.启动 3.开发流程 1.设置ip可访问 2.创建模块 3.第一个页面 4.视图 5.include()参数 6.url与视图的关系 7.响应内容 4.视图处理业务逻辑 1.响应html 2.获取url参数 3.从文件响应html内容 …