2323操作系统概论资料.doc_第1页
2323操作系统概论资料.doc_第2页
2323操作系统概论资料.doc_第3页
2323操作系统概论资料.doc_第4页
2323操作系统概论资料.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 引论1 计算机系统包括计算机硬件和计算机软件两大部分1) 计算机硬件(最里层):中央处理器(CPU)、存储器、输入输出控制系统、输入输出设备2) 计算机软件(最外层):系统软件(操作系统、编译程序):与具体的应用领域无关、 支撑软件(开发工具、数据库)、 应用软件:特定应用领域的专用软件。2 操作系统的功能和作用1) 操作系统(OS)是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件2) 操作系统的作用(1) 管理计算机系统的资源 (2) 为用户提供方便的使用接口 (3) 扩充硬件的功能3) 操作系统的功能1) 处理器管理 (2) 存储管理 (3) 文件管理:按名存取 (4) 设备管理:分配、启动、故障处理等 (5) 为用户提供使用接口:1.程序员:一组系统功能调用 2.操作员:一组操作控制命令3 早期操作系统(20世纪50、60年代)1) 批处理操作系统(1) 单道批处理系统(50年代),一次只允许一个作业(2) 多道批处理系统(60年代),多个作业同时装入主存储器,CPU轮流执行各作业,各作业可同时使用各自所需的外设。2) 分时操作系统(60年代),用于主机/终端模式的计算机系统 用户可直接输入、调试、运行自己的程序,能直接修改程序中的错误,并且直接获得结果。3) 实时操作系统,主要用于工业生产,首要考虑的是系统的实时性和可靠性,其次,才考虑系统的效率。4 现代操作系统的发展1) 微机操作系统:主要功能是实现文件管理、输入输出控制和命令解释,只允许一个用户使用。如MS-DOS、CP/M2) 网络操作系统:实现(计算机之间的通信)和(网络资源的共享)。3) 分布式操作系统:采用(客户/服务器)模式,使若干计算机相互协作完成一个共同的任务。主要特点:(1) 统一性。指用户感觉不到是多台计算机在提供服务,就像在使用“单一的计算机系统”一样(2) 透明性。用户不知道资源的位置,也不知道哪台计算机在提供服务4) 嵌入式操作系统:主要特点是微型化和实时性,用于工业控制、数据采集、通信传输等场合5 处理器状态1) CPU指令类型(1) 特权指令(例如:I/O指令,设置闹钟,设置控制寄存器),不允许用户执行 (2) 非特权指令(例如:访管指令)2) CPU状态(1) 管态 - 操作系统占用CPU,可以执行一切指令 (2) 目态 - 用户程序占用CPU,不允许执行特权指令3) 程序状态字(PSW):用来控制指令执行顺序,保留和指示与程序相关的系统状态。包含3部分内容:(1) 程序基本状态:指令地址、条件码、目态/管态、等待/计算等(2) 中断码,保存程序执行时发生的中断事件(3) 中断屏蔽位,指示是否响应中断事件4) 程序状态字寄存器:程序状态字寄存器用来存放当前运行程序的PSW的寄存器。6 操作系统接口1) 操作系统提供了2类接口:(1) 程序员接口,一组系统功能调用 (2) 操作员接口,一组操作控制命令2) 访管指令:操作系统提供的一条目态下执行的指令,实现用户程序和系统调用之间的切换。当用户程序执行访管指令时,产生一个中断,切换到管态下进行操作系统的功能调用;完成系统调用后,切换回目态继续执行用户程序第2章 处理器管理1 多道程序设计1) 让多个任务同时进入计算机的主存储器中并行执行,这种程序设计方法称为多道程序设计,这样的计算机系统称为多道程序设计系统2) 采用多道程序设计增加了单位时间的算题量,但对每个任务而言,从开始到完成所需的时间可能比单道执行所需的时间要长3)采用多道程序设计提高了处理器的利用率,而且降低了完成计算所需的总时间,从而提高了单位时间内的算题能力,也提高了吞吐率。2 进程的概念1) 把一个程序在一个数据集上的一次执行称为进程,程序是静止的,进程是动态的。2) 为什么引入进程:1.提高资源的利用率 2.正确的描述程序的执行情况3) 进程的3种状态:(1) 等待 - 等待某一事件 (2) 就绪 - 等待分配CPU (3) 运行 - 正在运行4) 进程的属性:1.进程是动态的,它包含了数据和运行在数据集上的程序。 2.多个进程可以含有相同的程序 3.多个进程可以并行执行 4.程序有三种基本状态5) 进程状态的变化:(1) 运行 - 等待 (2) 等待 - 就绪(3) 运行 - 就绪 (4) 就绪 - 运行6) 进程的3个特性(1) 动态性 - 运行过程中状态不断变化 (2) 并发性 - 若干进程可同时执行(3) 异步性 - 以不可预知的速度推进3 进程控制块(PCB) :进程刚被创建时,它的初始状态为“就绪态”,能占用CPU时,变“运行态”。1) 为了区别不同的进程,记录各进程的执行情况,为每个进程设置的一块管理信息2) 进程控制块是对进程进行管理和调度的信息集合,包含4类信息(1) 标识信息 - 标识进程,也就是进程名(2) 说明信息 - 说明进程情况,包括进程状态、等待原因、程序存放位置、数据存放位置(3) 现场信息 - CPU寄存器的信息,包括通用寄存器、控制寄存器、程序状态字寄存器(4) 管理信息 - 用于进程管理,包括优先级、队列指针等3) 操作系统中完成特定功能且不可中断的过程称为原语用于控制进程的原语有:创建、撤销、阻塞、唤醒1.创建原语:2.撤消原语3.阻塞原语:4.唤醒原语:4 进程队列1) 将进程控制块组成的链表称为进程队列2) 可以按进程状态形成就绪队列、等待队列,还可以将等待不同资源的进程形成不同的队列5 中断与中断处理1) 由于某事件的出现,操作系统中止正在运行的进程,转而处理出现的事件,待适当的时候再让被中止的进程继续运行,这个过程称为中断。引起中断的事件称为中断源。对中断进行处理的程序称为中断处理程序2) 中断的类型:(1) 硬件中断 (2) 程序中断 (3) 外部中断 (4) I/O中断 (5) 访管中断。其中,前4类中断不是程序所期望的,因此称为强迫性中断事件;第5类中断是程序所期望的,称为自愿性中断事件,在小型和微型计算机中称为系统调用3) 无论发生哪类中断事件,都由硬件的中断装置暂停当前进程的运行,让操作系统的中断处理程序占用处理器。这一过程称为中断响应4) 操作系统对每一类中断事件都要有该类事件的中断处理程序。为此,可预先约定一些存放PSW(程序状态字)的固定内存地址5) 中断处理过程(1) 中断装置把中断事件存入当前PSW (2) 找到事件存放旧PSW的位置,将当前PSW存入其中(3) 将中断处理程序的新PSW存入当前PSW,执行中断处理程序6) 访管中断事件的处理系统的中断处理程序可设置一张“系统调用程序入口表”,然后按系统调用号(INT 21)查找该表,找到相应的系统程序入口地址,把处理转交给实现该功能调用的程序执行6 处理器调度1) 把磁盘上用来存放作业信息的区域称为输入井,把输入井中的作业称为后备作业2) 从输入井选取后备作业到主存储器的工作称为作业调度;从就绪进程中选取一个进程,让它占用处理器的工作称为进程调度3) 作业调度算法(1) 先来先服务算法(2) 计算时间短者优先算法(3) 响应比高者优先算法 - 综合考虑等待时间和计算时间的算法。响应比 = 等待时间/计算时间(4) 优先级调度算法(5) 均衡调度算法4) 作业调用原则: 1.公平性原则 2.平衡资源使用 3.极大的流量5)作业调度算法:1.先来先服务原则 2.计算时间短的作业优先算法 3.响应比高者优先算法 4.优先级调度算法 5.均衡调度算法6) 进程调度算法(1) 先来先服务算法(2) 最高优先级算法 - 保证具有最高优先级的进程使用CPU。分非抢占式和可抢占式2种(3) 时间片轮转算法7 线程的概念1) 线程是进程中可独立执行的子任务。每个线程都有一个惟一的标识符和一张线程描述表(记录线程执行时的现场信息及状态等)。2) 进程是资源分配单位,线程是调试和执行单位。线程又称轻型进程。3) 多线程对比多进程的优越性(1) 节省分配进程控制块和工作区的开销(2) 不需要另行分配资源,创建速度快(3) 不需要额外的通信机制,信息传递速度快(4) 能充分利用和发挥处理器与外围设备的并行工作能力第3章 存储管理1 存储器类别1) 存储器分为寄存器(CPU可直接访问)、主存储器和高速缓冲存储器(CPU可直接访问)、辅助存储器(CPU不能直接访问)3个层次。常用的寄存器有通用寄存器、指令寄存器、控制寄存器。每个寄存器存储一个字长。主存储器以字节为单位2) 操作系统占用的主存储器空间,称为系统区;用来存放用户程序和数据的主存储器空间称为用户区。存储管理是对主存储器中的用户区进行管理2 地址转换1) 主存储器的每个存储单元都有一个地址与其对应。如果有n个存储单元,其地址编号为0 n-1。把存储单元的地址编号称为主存储器的绝对地址,与绝对地址对应的存储空间称为物理地址空间2) 每个用户都可以认为自己的程序和数据存放在从0开始的地址空间中。把用户程序中使用的地址称为逻辑地址,与逻辑地址对应的存储空间称为逻辑地址空间3) 把逻辑地址转换为绝对地址的工作称为重定位或地址转换。重定位的方式分静态定位和动态定位2种4) 在装入作业时,把作业中的指令地址和数据地址全部转换为绝对地址,这种定位方式称为静态重定位5) 动态重定位由软件和硬件相互配合实现,硬件设一个基址寄存器,当装入作业时,原封不动地把作业装入到所分配的区域,然后将该区域的起始地址存入基址寄存器,在作业执行过程中,由地址转换机构进行地址的动态转换,这种方式称为动态重定位。6) 采用动态重定位时,装入主存的作业仍保持原来的逻辑地址,所以必要时可改变它在主存中的存放区域3 单用户连续存储管理:静态重定位 界限寄存器1) 这是一种最简单的存储管理方式。在此方式下,操作系统将整个用户区分配给一个用户。只适合单道运行的计算机系统。此方式可采用静态定位方式进行地址转换2) 此方式中,CPU中设一个界限寄存器,存放可供用户使用的存储空间的起始地址。4 固定分区存储管理: 静态重定位 下限寄存器和上限寄存器1) 把用户区划分为若干区域,每个区域称为一个分区。各分区大小可以相同,也可以不同,但各分区的大小是固定不变的。每个分区可装入一个作业。适合多道程序设计系统。2) 此方式用一个“分区分配表”说明各分区的分配和使用情况3) 此方式可采用静态重定位进行地址转换,CPU设“上限寄存器”和“下限寄存器”,记录分区的起始地址和结束地址4) 为提高主存空间的利用率,可采取以下措施:(1) 根据常用作业的大小和数量进行分区(2) 将分区按从小到大的顺序排列,便于查找满足作业需求的最小分区(3) 根据作业对主存空间的需求量列队,每队作业装入固定的分区中5 可变分区存储管理 动态重定位 基址寄存器和限长寄存器1) 在装入作业时,根据作业大小和主存空间使用情况进行分区。2) 采用此方式时,主存储器中空闲区的数目和大小是不断变化的,为了便于管理,可以设置一张空闲区表,用来记录空闲区的起始地址和长度3) 此方式常用的主存分配算法:(1) “最先适应”算法 - 从空闲区表中找到第一个满足作业要求的空闲区 每次分配时总是顺序查找空闲区表(2) “最优适应”算法 - 从空闲区表中挑选出满足作业要求的最小空闲区 空闲区按长度递增(从小到大)次序登记在空闲区表中(3) “最坏适应”算法 - 总是分割最大的空闲区给作业使用,使剩下的部分不至于太小,仍可供分配使用(递减)4) 此方式采用动态重定位装入作业。硬件设基址寄存器和限长寄存器,分别用来保存作业的起始地址和作业所占分区的最大地址5) 可以根据需要把作业从一个存储区域移到另一个存储区域,称为移动,目的有2个:(1) 集中分散的空闲区 (2) 便于作业动态扩充主存6) 移动会增加系统开销,也是有条件的(例如,正在等待外围设备传送信息的作业就不能移动)。采用两头装入作业的方式可减少移动6 页式虚拟存储管理 动态重定位 采用虚拟存储管理技术,实现较小的主存空间里运行较大的作业。1) 页式存储管理把主存储器分成大小相等的许多区,每个区称为一块。与此对应,编制程序的逻辑地址也分成页,页的大小与块的大小相等。2) 页式存储器的逻辑地址由两部分组成:页号和页内地址。从地址结构看,逻辑地址是连继的,在编程时无需考虑如何分页3) 页式存储管理用一张主存分配表来记录已分配和未分配的块以及当前剩余的空闲块数。由于块的大小是固定的,所以可以用一张“位示图”来构成主存分配表4) 页式存储管理为每个作业建立一张“页表”,指出页号与块号的对应关系,采用动态重定位的方式装入作业。页表存放在主存储器内,当进行逻辑地址的读写时,必须访问主存2次,第1次读出页表中对应的块号,第2次对计算出的绝对地址进行读写5) 为了提高存取速度,通常把页表的一部分放入高速缓冲存储器,这部分页表被称为快表6) 当多个作业可以共享信息时,可以把页表中的页号设置为相同的块号,来达到节省主存空间的目的。为实现页的共享,需在页表中增加一个表项,指示某页内容是否可以共享7) 虚拟存储器允许用户使用的逻辑地址大于主存储器的绝对地址空间,其容量由计算机的地址结构和磁盘的容量决定,与实际的主存容量无关8) 虚拟页式存储将作业的所有信息存放在磁盘上作业的页表需存放在主存储器内,只将部分页面装入主存储器。其最大的特点是不必一次性装入作业的全部信息。在作业执行过程中,根据需要进行装载。为此需将页表改为如下形式页号标志主存块号磁盘位置12其中标志位用来指示对应的页是否已装入主存储器9) 如果需要调入某一页,而主存中没有空闲块,这是必须先将主存中的某一页调出,这一过程称为页面调度。为了避免频繁地对同一个页面进行调入调出抖动,颠簸,可供使用的页面调度算法有:(1) 先进先出调度算法(FIFO)(2) 最近最久未使用调度算法(LRU) “引用位”标志,(重新)计时(3) 最近最不经常使用调度算法(LFU) 每一页设置一个计数器10) 现代计算机普遍采用虚拟页式存储管理,并且为用户提供了较大的逻辑地址空间,导致建立页表的开销非常庞大。为此,可以采用多级页表技术,例如Windows 2000就采用了二级页表技术。多级页表技术不需要把整张页表一直保存在主存中11) 二级页表将逻辑地址分为三个部分:页组、页号、页内地址。程序执行时只需把一级页表装入主存储器,进行地址转换时,(1) 查找1级页表,找到对应的2级表项 (2) 根据2级表项,找到页对应的块号 (3) 根据计算出的绝对地址进行读写存储器:存取速度价格容量寄存器最快最昂贵容量小一般每个寄存器只能存储一个字长的信息,故只用来存放临时的工作数据和控制信息。主存储器也较快较大以字节为单位进行编制用于存放用户当前需要的程序和数据高速缓冲存储器快于主存储器比主存储器高不大在主存储器中的信息经常被访问,可放在高速缓冲存储器辅助存储器较慢容量很大长期存储信息执行一个程序或处理一个作业主存储器注:前3个处理器可直接访问辅助存储器:处理器不能直接访问(读/写辅助存储器)寄存器:指令寄存器 通用寄存器 控制寄存器:程序状态字寄存器(存放当前PSW),基址寄存器和界限寄存器第4章 文件管理1 文件和文件系统1) 把逻辑上具有完整意义的信息集合称为文件2) 文件系统来管理文件的存储、检索、更新、共享和保护。3) 文件系统用来对文件进行统一管理,目的是方便用户且保证文件的安全可靠4) 从用户角度看,文件系统主要是实现“按名存取”5) 文件系统的功能(1) 实现逻辑文件到物理文件之间的转换(2) 有效地分配存储空间(3) 提供文件目录(4) 提供合适的存取方式(5) 确保文件的安全性(6) 提供一组文件操作6)文件的分类:1按用途 2.按保护级别3.按信息流向4.按存放时限5.按设备类型6.按组织方式2 文件的存储介质1) 存储介质的物理单位定义为卷。可连续存储信息的一个区域,称为块,或称为物理记录2) 磁带上的块用位置来识别;磁盘上的块用柱面号、磁头号、扇区号3个参数决定3) 磁盘存储信息时按柱面存放,同一柱面上的磁道存满后,再放到下一个柱面上3 文件的组织1) 文件逻辑结构指根据用户的信息处理需求构造的文件;文件存储结构指文件在存储介质上的存储方式2) 逻辑文件有流式文件和记录式文件两种。流式文件指文件内的信息不再划分单位;记录式文件(例如数据库表)把信息划分为独立的信息单位,每个单位称为一个逻辑记录,惟一标识逻辑记录的数据项称为记录的主键3) 记录式文件在磁盘上的存储结构有以下3种:(1) 顺序结构 - 存放在磁盘上依次相邻的块中(2) 链接结构 - 存放在磁盘上用指针链接起来的块中(3) 索引结构 - 为每个文件建立一张索引表,指向每个记录的存放地址。如果把索引文件按顺序存放在磁盘上依次相邻的块中,则这种索引文件被称为索引顺序文件4) 文件在磁带中只能组织成顺序结构。每个文件由文件头标、文件信息、文件尾标3部分组成,之间用隔开5) 顺序存取指按文件记录顺序依次读/写;随机存取指按任意顺序读/写文件记录,存取方式与存储结构的对应关系如下:文件的存储结构不仅与存取方式有关,而且与存储设备的特性有关。顺序存取随机存取磁盘顺序文件、链接文件、索引文件索引文件磁带顺序文件6) 由于逻辑记录的大小和块的大小不一致,所以常常需要进行记录的成组和分解。记录成组指把若干记录并成一组存在一个块内,记录分解指从一组记录中把某一个记录分离出来。在进行不同存储介质转储时会经常用到。7) 在进行信息传输时是以块为单位,所以需要先把记录组缓存到主存储器,在进行读写4 存储空间的管理1) 存储空间的管理指实现分配和回收空闲块的方法,位示图法和空闲块链接法就是其中的2种2) 位示图法 - 在主存储器的系统区中取若干字构成一张位示图来指示磁盘空间的使用情况3) 空闲块链接法,分单块链接和成组链接2种(1) 单块链接 - 把所有的空闲块用指针链接起来(2) 成组链接 - 把空闲块成组链接,每100块为1组,UNIX采用此法5 目录结构1) 文件目录是文件系统实现按名存取的重要手段,文件目录由若干目录项组成,每个目录项登记一个与文件有关的信息。有些系统把目录项看作一个文件控制块,因而文件目录就是文件控制块的集合2) 一级目录:一卷存储介质只有一个目录;二级目录:每个用户设一个目录3) 树形目录:允许用户建立自己的子目录,UNIX和Windows均采用此法。从根目录开始的路径称为绝对路径(耗费时间很多),从当前目录开始的路径称为相对路径(缩短搜索路径,提高搜索速度)6 文件安全性体现在保护和保密2方面-文件的保护 和 文件的保密。7 文件基本操作包括建立、打开、读、写、关闭和删除等第5章 设备管理1 设备分配1) 只允许一个作业单独占用的设置,称为独占设备,如打印机;可供若干作业同时使用的设备称为可共享设备,如磁盘。独占设备只有在一个作业不再使用它时,才可让另一作业使用;可共享设备在一个作业尚未结束时,另一个作业即可使用,但某一时刻只能供一个作业使用2) 计算机系统需要为每一台设备确定一个惟一的编号,这个编号称为设备的绝对号;用户为自己需要的若干同类设备所起的编号称为设备的相对号3) 用户编程时使用的设备与实际能占用的设备无关,这种特性称为设备的独立性4) 为了记录设备的分配情况,系统可设置设备分配表,指出系统所配的设备类型、数量及分配和使用的情况。设备分配表由2部分组成:设备类表和设备表2 磁盘调度1) 磁盘存储空间3要素:柱面号、磁头号、扇区号2) 磁盘执行一次信息传输所花的时间有3部分:(1) 寻找时间 - 磁头移动到柱面所需的时间 (2) 延迟时间 - 扇区旋转到磁头位置所需的时间(3) 传送时间 - 将信息读到主存储器或把主存储器信息写入扇区所需的时间,所需的时间是固定的3) 对磁盘而言,驱动调度包括移臂调度和旋转调度。一般总是先进行移臂调度,再进行旋转调度4) 移臂调度算法:(1) 先来先服务 (2) 最短寻找时间优先 (3) 电梯调度(简单、高效)5) 旋转调度算法:最短延迟时间优先。由于一次只能使用一个磁头进行读写,当需要访问不同磁头下的相同扇区时,需要每旋转到该扇区时,从其中挑选任意一个进行读写6) 可以调整扇区分布(不按顺序排列),使得第次传输完信息时,磁头位于下一个扇区的位置,以此减少延迟时间,提高系统效率3 通道与I/O中断1) 通道用于独立完成主存储器与外围设备的输入输出操作。一个CPU可以连接多个通道,一个通道可以连接多个设备控制器,一个控制器可以连接同类型的多个设备2) CPU通过指令启动通道,通道启动后通过执行“通道程序”来控制设备工作,“通道程序”由一组“通道命令”组成3) 通道命令的格式(1) 命令码:分为传输类、跳转类、控制类3种(2) 数据主存地址:数据传送的主存起始地址(3) 标志码:非0表示通道尚未结束;0表示本命令是最后一条指令(4) 传送字节个数:对于传输类命令,表示本命令传送的字节数;对于非传输类指令,按规定填上一个非0值4) 启动和控制外围设备完成输入输出的过程如下:(1) 根据要求组织通道程序 (2) CPU执行指令启动通道,通道启动成功后,执行通道程序,完成输入输出(3) 通道完成后,CPU根据通道执行情况进行处理5) 通道借助I/O中断请求CPU进行干预,CPU根据I/O中断了解输入输出的执行情况。I/O中断事件可粗略地分为正常结束和异常结束2大类4 缓冲技术1) 利用缓冲区来缓解处理器与外围设备之间工作速度不匹配的矛盾而采用的技术称为缓冲技术2) 常用的缓冲技术:(1) 单缓冲(1个缓冲区) (2) 双缓冲(2个缓冲区) (3) 缓冲池(1组缓冲区)5 虚拟设备1) 由操作系统模拟的独占设备称为虚拟设备2) 为了提高设备的利用率,先后使用了2种技术:(1) 脱机外围设备 (2) 联机外围设备3) 脱机外围设备操作:使用两台外围计算机,(1) 一台负责把作业信息传送到磁盘上,以人工方式将磁盘移动到主计算机系统; (2) 主计算机执行作业,把结果存入磁盘; (3) 以人工方式将存放结果的磁盘移动到另一台外围计算机进行打印输出4) 联机外围设备操作:在磁盘上开辟“输入井”和“输出井”的专门区域,代替以上三台机算机的任务。本操作也称为斯普林操作5) 操作系统中实现斯普林操作的部分称为斯普林系统。主要包含3部分:(1) 预输入程序 (2) 井管理程序读输入井、写输出井 (3) 缓输出程序第6章 进程管理1 可同时执行的进程称

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论