精华内容
下载资源
问答
  • Windows作为最流行的个人计算机操作系统,成为了我们学习、工作和生活的一部分。从计算机通电到Windows启动完成,这具体是怎样的过程?跟着小编一起去探索吧。 Windows引导过程 Windows作为最流行的个人计算机操作...

    Windows作为最流行的个人计算机操作系统,成为了我们学习、工作和生活的一部分。从计算机通电到Windows启动完成,这具体是怎样的过程?跟着小编一起去探索吧。

    Windows引导过程

    Windows作为最流行的个人计算机操作系统,成为了我们学习、工作和生活的一部分。平时使用计算机,我们都得先按下电源键然后等待Windows启动,初始化,进入欢迎页面,启动完成。会不会觉得整个过程比较神奇,想一探究竟?其实整个启动过程经历了多个阶段,接下来小编将一一讲述每一个阶段,揭开它们神秘的面纱。

    通电后CPU首先执行的是主板引导程序,主板引导程序可分为BIOS和UEFI。BIOS是最早的方案,搭配MBR分区使用,BIOS逐渐被UEFI代替,UEFI一般搭配GPT分区使用,所以引导过程会有两种情况:

    1.BIOS + MBR

    2.UEFI + GPT

    这两种情况都会分别介绍。

    UEFI

    UEFI(Unified Extensible Firmware Interface)以灵活扩展、引导更省时等特性,成为了BIOS的替代方案,新推出的主板和操作系统基本上默认使用UEFI引导,小编Win10系统采用的就是UEFI引导。

    如何查看自己的计算机是什么方式引导的?

    在“此电脑”上右键选择“管理”,弹出“计算机管理”选择“磁盘管理”,如果能找到一个“EFI系统分区”,那么就是UEFI引导方式了。
    在这里插入图片描述

    UEFI一般搭配GPT分区技术使用,虽然也可以搭配MBR,但是由于MBR磁盘容量最大只能是2TB,在磁盘容量越来越大的今天略显不足,所以默认都是使用GPT分区技术。GPT可以做到:

    1.支持容量超过2TB的磁盘;

    2.使用16字节的GUID标识分区类型,不容易冲突;

    3.理论上分区数目不限制(受限于Windows只能最多识别128个分区);

    4.分区容量几乎没有限制,因为使用64位整数,64位整数最大值为2^64 - 1,数值非常大;

    5.提供CRC检验,检测数据损坏;

    6.备份分区表,提高可靠性。

    引导流程
    在这里插入图片描述

    1.按下电源键,电源向主板以及其它设备供电,刚开始电压不稳,主板会持续发送RESET信号给CPU,CPU执行初始化。当电压稳定后,主板停止发送RESET信号,CPU开始执行指令;

    2.CPU读取UEFI指令,执行UEFI初始化,执行其它设备的初始化;

    3.查找EFI分区,EFI分区不需要一定是第一个分区;

    4.加载\EFI\Boot\bootx64.efi,在安装Windows时实际上会使用\EFI\Microsoft\Boot\bootmgfw.efi的内容替换到\EFI\Boot\bootx64.efi,所以\EFI\Boot\bootx64.efi其实就是\EFI\Microsoft\Boot\bootmgfw.efi;

    5.bootmgfw.efi会读取BCD文件,BCD是一个数据库文件,如果包含多个系统,信息会包含在BCD中,通过显示一个系统列表供用户选择;

    6.BCD中包含每个系统的引导文件的路径,Windows的是\Windows\System32\winload.efi,加载到内存中并执行;

    7.winload.efi读取\Windows\bootstat.dat文件,有需要则显示引导菜单,比如安全引导等等;接着加载内核程序Ntoskrnl.exe,相关辅助HAL.dll、CI.dll、PSSHED.dll、BootVID.dll,把CPU执行权交给内核程序;

    8.内核程序执行系统初始化。

    通过上面的流程可知道,引导相关的文件都存放在EFI系统分区中,下图是小编win10的EFI系统分区的一些文件:
    在这里插入图片描述

    BIOS

    BIOS(Basic Input Output System)是最早的引导方案并使用了相当长的一段时间,所以在Win8、Win7、WinXP以及更早的版本都能找到BIOS的引导存在。BIOS只支持MBR分区技术,所以GPT并不适合BIOS。

    引导流程
    在这里插入图片描述

    1.上电并稳定后,CPU执行地址0xFFFF0h处指令,此处为BIOS程序;

    2.BIOS进行硬件自检,没有问题后加载硬盘的第一个扇区到内存0x7c00h处,第一个扇区为MBR(Master
    Boot Record),MBR包含执行程序和分区表;

    3.CPU开始执行MBR程序,查找第一个活动分区,把活动分区的第一个扇区加载到内存中,活动分区第一个扇区为PBR(Partition Boot Record);

    4.CPU开始执行PBR,第一个指令就是跳过BPB(BIOS Parameter Block)到可执行代码处;BPB包含比较多参数,有族的大小、MFT记录大小、MFT位置等,用于读取NTFS文件;

    5.PBR读取VBR(Volume BootRecord,占用分区开始的16扇区)剩余的15扇区到内存中;接着CPU跳转到0x07C0:027A处,执行BOOTMGR代码(第二个扇区中);

    6.开始寻找bootmgr.exe,找不到则寻找ntldr.exe(win vista之前的系统);

    7.CPU加载并跳转到bootmgr.exe处执行,读取BCD文件,如果含有多个系统,则列举显示供用户选择;

    8.选择的是Windows则读取winload.exe文件到内存中,CPU跳转到winload.exe处执行,读取文件\windows\bootstat.dat,,有需要则显示引导菜单,比如安全引导等等;接着加载内核程序Ntoskrnl.exe,相关辅助HAL.dll、CI.dll、PSSHED.dll、BootVID.dll,把CPU执行权交给内核程序;

    9.内核程序执行系统初始化。

    可见BIOS引导更多的是通过MBR去引导系统,UEFI则主导整个引导过程。

    结束语

    在启动计算机的过程中,难免会遇到各种各样的问题,比如蓝屏、黑屏等等,掌握了其启动的流程,将有利于我们对各类故障进行排查和修复。

    展开全文
  • LINUX操作系统学习心得第一次看见LINUX这个词是在选择选修课的时候,根本不知道LINUX是什么东西,带着对计算机的喜爱,选了LINUX操作系统这门选修课。经过这一个学期的学习,对LINUX有了一定的认识,我觉得这门课...

    LINUX操作系统学习心得

    第一次看见LINUX这个词是在选择选修课的时候,根本不知道LINUX是什么东西,带着对计算机的喜爱,选了LINUX操作系统这门选修课。

    经过这一个学期的学习,对LINUX有了一定的认识,我觉得这门课确实是选对了,非常适合我们学习。首先,LINUX是开源的,这也是最主要的原因,想学Windows,Unix对不起,没有源代码。也正是因为这样,LINUX才能够像雪球一样越滚越大,发展到现在这种规模。其中不乏许多IT精英的心血。其次,LINUX简单易学,因为我们是初学者,学的只是基础部分,LINUX的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解, 使我们理解起来很快。对我们学习操作系统有很大的帮助。 再次,Linux 是用C语言编写的,我们有学习 C 语言的基础,读程序和编写代码方面存在的困难小一点, 也是我们能较快掌握的原因之一。

    我们这个学期的学习方式是自己上网学习加老师讲解。这样的学习方式我们能够更自由的查找自己不明白的地方,还有机会学习更多的知识。唯一遗憾的是学了一个学期,却没有真实的操作过LINUX操作系统,难免显的纸上谈兵。以后如果有机会进一步的学习,一定要安装上LINUX系统,自己实践一下。

    LINUX系统简单,占用内存小,用最小的内存实现了Windows的所有功能,是电脑操作系统的一大进步,相信在将来会有更多的应用空间。

    展开全文
  • Windows Server是微软面向服务器的操作系统,服务器操作系统和客户端操作系统是不一样的,从硬件的角度说,服务器对硬件要求相对比较高,要求很高的稳定性和安全性,客户端对硬件要求相对比较低。从软件上,微软的...

    26cbc93598e53b96ee100a339e77dabd.gif

    Windows Server是微软面向服务器的操作系统,服务器操作系统和客户端操作系统是不一样的,从硬件的角度说,服务器对硬件要求相对比较高,要求很高的稳定性和安全性,客户端对硬件要求相对比较低。从软件上,微软的服务器操作系统软件主要有Windows Server 2003、Windows Server 2008、Windows Server 2012等,微软的客户端操作系统软件主要有Windows XP、Windows 7、Windows 8等。

    常见服务器的种类有,文件服务器(FTP)、打印服务器、邮件服务器、Internet信息服务器、数据库服务器(SQL 2000/2005)等。这里以Windows Server 2003为例具体讲一下Windows Server的安装和搭建。

    先将服务器硬盘格式化,然后插入Windows Server的光盘,从光盘启动,即可进入Windows Server的安装程序,按回车键开始Windows Server 2003安装。

    55c0bd3fecc66415676c363614fef7bf.png

    在软件授权协议界面,按F8键同意其协议后进入下一步,安装程序会自动搜索系统中已安装的操作系统。提示用户选择安装操作系统的分区。

    93915cfeabb752ab1aecc1c7902aef56.png

    选择后,系统会询问采用何种文件补充方式格式化分区。若要发挥Windows Server 2003安全稳定的特点,则选择NTFS分区。

    6a44c39371a512f13b3a8606a29e66a2.png

    设置相关安装信息后,安装程序开始从光盘复制系统文件到硬盘上,复制文件后,安装程序会提示重启计算机。

    0266289ae1c7a36504c3f65855895a12.png

    重启后安装程序开始收集必要的安装信息,并在左下角提示完成安装的时间。

    0622d4eb2401e5732bdcd6b2e9ef45c1.png

    基本安装完成后,系统会出现的“区域和语言选项”对话框。一般单击“下一步”按钮,选择默认设置进入下一步。系统显示“自定义软件”对话框,输入用户姓名和单位信息。

    f119c0ae459af09250436e0d5ca75199.png

    单击“下一步”按钮,系统提示输入产品密钥,若无法提供正确的产品密钥,系统将无法继续安装。

    c04fc15387c202ce1523cfd201479bc8.png

    输入后单击“下一步”按钮,系统显示“授权模式”对话框,需求设置授权模式。Windows Server 2003支持两种授权模式,即“每服务器”模式和“每用户”模式。对于服务器,可以设置允许多少客户机同时连接此服务器;而对于单机用户,则选择默认设置。

    e8effeaecde1351bc4d56bbd06c917d3.png

    单击“下一步”按钮,系统显示“计算机名称和管理员密码”对话框。设置计算机名和管理员密码。

    f5e36b0a116c82a8222ae190f0a21ea1.png

    单击“下一步”按钮,系统显示“网络设置”对话框。可选择“典型设置”单选按钮按系统默认方式设置,或者选择“自定义设置”单选按钮手动设置网络。

    d7d4a49042570c79ee2752a1a0203a70.png

    单击“下一步”按钮,系统显示“工作组或计算机域”对话框。设置计算机所在的工作组或计算机域。

    fb0725184d865db5d23201073e338587.png

    单击“下一步”按钮,安装程序将开始安装“开始”选项并对组件进行注册等。经过一段时间的等待,进入系统登录界面。

    fd06ea006ea0b31efc6cccc14dbf6015.png

    按Ctrl-Alt-Delete组合键进入系统,显示“管理您的服务器”窗口,在其中可以配置“文件服务器”、“打印服务器”、“IIS服务器”、“邮件服务器”、“域控制器”、“DNS服务器”及“DHCP服务器”等,这时候就可以进行 Windows Server 的详细服务配置阶段了,具体的配置要点将在后文介绍。

    0565e85b71fcae5dc3206919d8a5eebf.png

    展开全文
  • 操作系统学习笔记:操作系统基础知识

    千次阅读 多人点赞 2021-09-20 20:14:26
    操作系统的概念、功能和目标 概念(定义) 首先来一张图来看看计算机系统的层次结构: 可以看到的是,操作系统扮演这一个连接硬件和软件、用户的角色。 由此可以得出操作系统的定义: 操作系统(Operating System,...

    操作系统的概念、功能和目标

    概念(定义)

    首先来一张图来看看计算机系统的层次结构:

    在这里插入图片描述

    可以看到的是,操作系统扮演这一个连接硬件和软件、用户的角色。

    由此可以得出操作系统的定义

    操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件

    • 从中间往上下看,它控制和管理整个计算机系统的硬件和软件资源
    • 从上往下看,它提供给用户和其他软件方便的接口和环境
    • 从下往上看,它是计算机系统中最基本的系统软件,是最接近硬件的软件

    如果想要更直观的解释,我们可以打开任务管理器的界面:
    在这里插入图片描述

    这张图可以很直观的展示操作系统所干的事情。

    功能和目标

    首先结合上面操作系统的层次结构图,思考操作系统在以下三个方面的功能实现:

    • ①操作系统作为系统资源的管理者(这些资源包括软件、硬件、文件等),需要提供什么功能?
    • ②操作系统作为用户与计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能?
    • ③操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能?

    这三个问题对应的层次如何所示:

    在这里插入图片描述

    补充知识

    • 进程:表示一个程序的执行过程。执行前需要将该程序放到内存中,才能被CPU处理

    首先解决第一个问题:操作系统作为资源的管理者,需要提供/实现哪些功能。

    我们拿QQ进行视频聊天的工作过程来讲解:

    使用QQ的第一步,是在各个文件夹中找到QQ安装的位置,操作系统将逐层打开文件夹,这一步涉及文件管理;第二步,就是运行QQ.exe,在这一步,操作系统会把该程序的相关数据放入到内存中,并决定放在内存中的位置,这一步涉及存储器管理(内存管理);第三步就是将QQ程序放入等待队列中,之后对应的进程将被放进处理机(CPU)中处理,这一步涉及处理机管理;最后一步,当我们需要打开摄像头跟朋友聊天的时候,操作系统会将摄像头设备分配给该进程,在摄像头使用完成后还要进行资源回收,这一步涉及设备管理。对于整个流程,操作系统必须保证这些行为都是安全高效

    总结如下图所示:
    在这里插入图片描述

    其次是第二个问题:操作系统作为用户与计算机硬件之间的接口,要为其上层的用户、应用程序提供简单易用的服务,需要实现什么功能。

    想要解决这一个问题,操作系统需要提供以下三个功能:

    • 命令接口:允许用户直接使用
    • 程序接口:允许用户通过程序间接使用
    • GUI:现代操作系统中最流行的图形用户接口

    命令接口和程序接口可以统称为用户接口,在考研当中,这两种功能经常考察

    以下是图示:

    在这里插入图片描述

    命令接口是允许用户直接使用的,其分为联机命令接口脱机命令接口

    其中,联机命令接口的特点是:用户说一句,系统做一句。而脱机命令接口的特点是:用户说一堆,系统做一堆

    下面拿两个例子来解释联机命令接口和脱机命令接口:

    例1:在Windows操作系统中,我们可以打开cmd窗口,输入time指令,窗口会返回当前系统时间,并且将操作权限返还给用户,用户随后可以设置一个新的时间。这就是一个典型的联机命令接口,或者叫交互式命令接口。

    例2:还是以Windows为例,使用Windows的搜索功能,在C盘中搜索并随便打开一个*.bat文件,可以看到里面编写着一系列的指令,文件本身就相当于一个指令清单,双击该文件,操作系统就会根据用户给出的这些一系列的指令,一条一条往下执行。这种就是典型的脱机命令接口实例,脱机命令接口也可以叫批处理命令接口

    聊完了命令接口,接下来我们聊聊程序接口。

    再拿Windows为例,我们在操作系统中能经常看见*.dll文件,例如C:\Windows\System32目录下的user32.dll,允许程序员在程序中调用该文件,实现创建窗口等功能。该功能不是由程序员实现的,而是通过程序员编写的程序进行调用,实现间接使用。详细的调用过程就是调用系统调用的过程(关于系统调用的相关概念将会在后面学习到)。

    程序接口就是由一组系统调用组成的,大部分情况可以认为程序接口=系统调用

    注意,系统调用也可以称为广义指令系统调用命令

    在这里插入图片描述

    图形用户界面这里不多赘述,其目标就是为了用户能够更加方便地操作计算机。

    最后我们聊聊第三个问题:操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能。

    在这一层面上看,操作系统需要实现的最主要功能就是实现对硬件及其的拓展。在没有任何软件支持的计算机(裸机)上安装的操作系统,要能够提供资源管理功能和方便用户的服务功能,将裸机改造成功能更强、使用更方便的机器。

    如果把计算机比喻成锤子、钉子、木头,那么操作系统就应该是优秀的工匠,操作系统将这些简单的原料组织成房子、帆船、匹诺曹等等,普通用户就可以直接使用工匠提供的房子、帆船、匹诺曹,而无需关心这些东西在底层是怎么组织起来的。

    小结

    下面对知识进行总结:

    在这里插入图片描述

    其中需要以后重点掌握的是关于资源管理的四个小方面,以及系统调用的相关知识。

    操作系统的特征

    操作系统主要由四个特征:并发共享虚拟异步。其中并发和共享是操作系统两个最基本的特征,二者也互为存在条件

    并发

    并发是指两个或多个时间在同一时间间隔内发生,这些事件宏观上是同时发生的,但微观上是交替发生的。

    注意把并发跟并行区分,后者指两个或多个事件在同一时刻同时发生

    通常,一个单核处理机(CPU)同一时刻只能执行一个程序,操作系统在这里的职责就是负责协调多个程序交替执行。事实上,操作系统就是伴随着“多道程序技术”而出现的,可以说,操作系统和程序并发是一起诞生的。当然,现在的CPU一般都是多核CPU。

    共享

    共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

    共享有两种方式:互斥共享和同时共享。

    • 互斥共享是指系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
    • 同时共享是指系统中的某些资源,允许一个时间段内有多个进程”同时“对它们进行访问

    其实,同时共享中的”同时“,往往只能表示宏观层面,微观层面上这些进程可能是交替地进行对资源的访问(分时共享)

    下面拿两个案例来理解共享的两种方式:

    例1:使用QQ和微信进行视频聊天,同一时间段内摄像头只能分配给其中一个进程,这就是互斥共享;

    例2:使用QQ发送文件A,同时使用微信发送文件B。宏观上看,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。微观上看,两个进程是交替着访问硬盘的。这就是同时共享。

    关于并发和共享

    并发性指计算机系统中同时存在着多个运行着的程序。共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。

    通过下面这个例子来看并发与共享的关系:

    使用QQ发送文件A,同时使用微信发送文件B。

    1.两个进程正在并发执行(并发性)

    2.需要共享地访问硬盘资源(共享性)

    如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义;如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发。

    虚拟

    虚拟是指把一个物理上的实体变为若干个逻辑上的对应物,前者(物理实体)是实际存在的,后者(逻辑对应物)是用户感受到的。

    下面用一个例子来理解虚拟:

    通过之前的学习我们知道,一个程序需要放入内存并给他分配CPU才能执行。假如说GTA5需要4GB的运行内存,QQ需要256MB的运行内存,网易云也需要256MB的运行内存,而我的电脑只有4GB的内存,但是却可以同时运行以上程序。问题来了:以上程序同时运行所需内存已经大于4GB了,为什么它们还可以同时运行在电脑上呢?原因就是操作系统采用了虚拟存储器技术。

    虚拟存储器技术其实就是虚拟技术中的”空分复用技术“,对于这个概念,这里只需了解,会在后续学习过程进行学习。

    再来一个例子:

    在一台单核CPU中,用户可以打开QQ、Chrome、QQ音乐等程序。一个程序需要被分配CPU才能运行,而单核CPU却能在电脑中同时运行多个程序,背后其实就是运用了虚拟处理器技术。

    虚拟处理器技术就是虚拟技术中典型的”时分复用技术“,在微观层面上处理机会在各个微小的时间段内交替着为各个进程服务。

    当然,虚拟往往也伴随着并发。

    异步

    异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。

    这里拿一个老渣与两个女孩约会的例子来解释异步:

    在这里插入图片描述

    加入两个女孩都给老渣下达了两道命令,同时要求老渣陪其吃饭和把心给她,而老渣的心和老渣的人都只有一个,假如一开始跟一号吃饭,之后一号和二号同时要求老渣把心给她,那么老渣将有两种选择,所以会有不同的约会过程。

    老渣与与一号、二号的约会相当于对两个进程的处理,每个进程都有各自需要执行的指令。老渣的心相当于有限的系统资源。由于可分配的资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。

    显然,如果失去了并发性,那么系统只能串行的处理每个进程,每个进程的执行会一贯到底,所以,只有系统拥有并发性,才可能导致异步性。

    小结

    下面对知识进行总结:

    在这里插入图片描述

    重要考点:

    • 理解并发和并行的区别
    • 并发和共享互为存在条件
    • 没有并发和共享,就谈不,上虚拟和异步,因此并发和共享是操作系统的两个最基本的特征

    操作系统的发展和分类

    手工操作阶段

    计算机刚被发明的时代的操作方式,那时并没有操作系统,程序员编写程序需要通过打孔机对纸带进行打孔,通过打孔与否区别二进制的1和0。机器读取纸带中的信息,并将其输入到计算机当中,计算机进行运算过后,CPU会将内存中的结果,操控机器对纸带打孔,进行结果输出。

    在这里插入图片描述

    主要缺点:用户独占主机、人机速度矛盾导致资源利用率极低

    批处理阶段

    单道批处理系统

    为了解决手工操作阶段暴露出的问题,人们引入了脱机输入/输出技术(用磁带完成),并使用**监督程序(操作系统雏形)**负责控制作业的输入、输出。

    程序员会事先将程序编写到纸带上,然后通过专门的外围控制机,把纸带机上的纸带的数据读到一个速度更快的磁带上,之后计算机直接从磁带上读取程序并处理,处理的结果将重新输送到磁带上,再通过外围控制机将结果输出到纸带上。

    在这里插入图片描述

    主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升。

    主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一-道程序。CPU有大量的时间是在空闲等待I/0完成。资源利用率依然很低。

    多道批处理系统

    为了解决单道批处理系统所暴露的问题,人们发明了多道批处理系统。

    用户还是利用磁带将程序输入到计算机中,但是每次的传输将往内存传入多道程序,这些程序将在计算机中并发地执行。这个时候,操作系统正式诞生,并且引入了中断技术,由操作系统负责管理这些程序的运行。
    在这里插入图片描述

    主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资源保持“忙碌”状态,系统吞吐量增大。

    主要缺点:用户响应时间长,没有人机交互功能,用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行。

    可以看到,并发和共享两大特性自操作系统诞生时就已存在

    两者的比较

    拿个例子来说明多道批处理系统相对于单道批处理系统,资源利用率为什么会大幅度提升。

    假设计算机需要处理三个作业:

    作业一:输入1秒,计算1秒,输出1秒
    作业二:输入1秒,计算1秒,输出1秒
    作业三:输入1秒,计算1秒,输出1秒

    若采用单道批处理技术:

    在这里插入图片描述

    采用多道批处理技术:

    在这里插入图片描述

    上诉两种比较很好的说明了单道批处理和多道批处理的区别,同时也要记住,操作系统的出现是在多道批处理阶段

    分时操作系统

    为了提供人机交互能力,人们发明了分时操作系统。计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。

    比如时间片为50ms,那么计算机为一个用户服务50ms之后就会处理为下一个用户服务。在这50ms当中,用户都可以通过终端跟计算机进行交互。

    在这里插入图片描述

    主要优点:用户请求可以在对应的时间片内被即时响应,解决了人机交互问题。允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
    主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。

    实时操作系统

    由于分时操作系统无法即使处理紧急任务的局限性,导致它无法被用于一些特别的场景,比如武器控制系统。所以人们发明了实时操作系统。在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完事件。该系统的特点时及时性可靠性

    实时操作系统主要分为硬实时系统软实时系统

    • 硬实时系统要求必须在绝对严格的规定时间内完成处理,如导弹控制系统、自动驾驶系统。
    • 软实时系统规定能接收偶尔违反时间规定,如12306火车订票系统

    主要优点:能够优先响应一些紧急任务,某些紧急任务不需要时间片排队。

    其他操作系统

    网络操作系统

    伴随着计算机网络的发展而诞生的,能把网络中各个计算机有机地结合起来,实现数据传送等功能,实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信。(如Windows NT就是一种典型的网络操作系统,网站服务器就可以使用)

    分布式操作系统

    主要特点时分布性和并行性。系统中的和泰计算机地位相同,任何工作都可以分布在这些计算机上,由他们并行、协同完成这个任务。

    个人计算机操作系统

    如Windows XP、MacOS,方便个人使用

    小结

    在这里插入图片描述

    绿框部分是考研重点内容,整体重点理解各阶段的优点和缺点,各阶段的主要优点其实都是解决了上一阶段的主要缺点。

    操作系统的运行机制与体系结构

    运行机制

    两种指令

    在将指令的类别之前,我们先来认识什么叫指令:

    简单点来说,指令就是处理器(CPU)能识别、执行的最基本命令。

    一条高级语言的代码翻译过来可能会对应多条指令:

    在这里插入图片描述

    有的指令”人畜无害“,比如加减乘除这些普通的指令;有的指令拥有很高的权限,比如内存清零指令。如果操作系统允许任意的用户程序都可以无差别地使用系统指令,那么就意味着一个用户可以将其他用户地内存数据随意清零,这样做显然是不符合安全规范地。

    为了解决上述问题,我们需要将指令划分为两种类别,并对权限加以区分:

    • 特权指令:如内存清零指令,这类指令拥有很高的权限,不允许用户程序使用
    • 非特权指令:如普通的运算指令,允许用户程序使用
    两种处理器状态

    上面我们说到指令分为两种,随之而来的有一个新问题,CPU如何判断当前是否可以执行特权指令?

    为此,我们将处理器状态划分为两种:

    • 用户态(目态):如果CPU处于用户态,那么此时CPU只能执行非特权指令
    • 核心态(管态):如果CPU处于核心态,那么CPU特权指令和非特权指令都可以执行

    在系统中使用程序状态寄存器(PSW)中的某标志位来表示当前处理器处于什么状态。

    两种程序

    对于程序而言,有些程序可以同时使用非特权指令和特权指令,而有的程序只能只用非特权指令。根据程序所能使用指令级别的不同,我们把程序分为两种:

    • 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,又可以执行非特权指令,运行在核心态
    • 应用程序:只能执行非特权指令,运行在用户态
    小结

    在这里插入图片描述

    操作系统内核

    内核功能细分

    在我们安装完计算机的时候,可以发现操作系统给我们提供了多种多样的功能,比如“记事本”、”任务管理器“等等。然而,有些功能看起来并不是必不可少的,就像没有“任务管理器”,我们仍然可以使用计算机。可见,计算机内部的功能结构,也由核心与非核心之称。

    再来看之前的操作系统层次结构,这次我们把它再细分:

    在这里插入图片描述

    操作系统的功能分为内核功能非内核功能。其中内核是我们比较关注的,它是计算机上配置的底层软件,是操作系统最基本、最核心的部分。

    实现操作系统内核功能的那些程序就是内核程序

    内核主要分为两部分,一部分是对系统资源进行管理的功能,主要包括进程管理、存储器管理、设备管理等功能;另一部分主要包括时钟管理(实现计时功能)、中断处理、原语(一种特殊程序,是最接近硬件的部分,这种程序的运行具有原子性,涵括设备驱动、CPU切换等)

    原子性是指一但操作就必须执行完成,不可中断,否则回到执行之前的状态。

    小结

    在这里插入图片描述

    操作系统的体系结构

    上面我们说到操作系统有内核与非内核之分。

    需要注意的是:有些操作系统并没有把对系统资源进行管理的功能归为“内核功能”,也就是说,不同的操作系统对内核的划分并不严格一致。通常可以把内核包含了上述功能体系结构的称为大内核,内核没有把上述功能划分在内的体系结构称为微内核

    它们俩的区别:
    在这里插入图片描述

    操作系统的体系结构问题与企业的管理问题很相似:

    内核就是企业的管理层,负责一些重要的工作。只有管理层才能执行特权指令,普通员工只能执行非特权指令用户态核心态之间的切换相当于普通员工和管理层之间的工作交接大内核就相当于企业初创时体量不大,管理层的人会负责大部分的事情。优点是效率高;缺点是组织结构混乱,难以维护。微内核就相当于随着企业体量越来越大,管理层只负责最核心的一-些工作。优点是组织结构清晰,方便维护;缺点是效率低。

    小结

    在这里插入图片描述

    需要注意的是,操作系统体系结构之间的差别可能做作为选择题进行考察。

    中断和异常

    中断机制的诞生

    早期的计算机是采用串行机制处理程序的,一个程序进入计算机运行结束之后,只有等待I/O程序将结果输出,才能读取运行下一个程序:

    在这里插入图片描述

    这种方式的缺点显而易见:各程序只能穿行执行、资源利用率极低。

    为了解决上述问题,人们发明了操作系统(作为计算机的管理者),同时引入了中断机制,实现了多道程序并发执行(多道批处理阶段)。
    在这里插入图片描述

    中断的本质:发生中断就意味着需要操作系统介入开展管理工作

    中断的概念和作用

    中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

    下面说说中断机制运行的例子:

    假如计算机中有三个进程,进程一运行过程中,CPU可能受到计时部件发出的中断信号(例如过了一个时间片),此时就意味着需要操作系统的介入,因此CPU的状态将切换到核心态,对中断进行处理;此时CPU的权限会移交给操作系统,操作系统的内核负责对中断信号进行处理。此时操作系统发现刚才的中断是表明进程一的时间片已用完,所以切换到进程2执行;之后操作系统会将CPU的使用权交还给用户进程,之后进程二就会在用户态下开始执行。

    假如进程二发出系统调用(内中断信号),请求输出数据,此时CPU的状态将切换到核心态,同时移交权限给操作系统,操作系统内核再次负责对中断信号的处理,并要求打印机要是工作,此时进程二暂停运行等待I/O完成,换进程三运行,此时CPU状态返回用户态。等到I/O完成,设备向CPU发出中断信号,CPU接收到I/O设备发来的而中断信号,切换到核心态对中断进程处理。操作系统内核再次对中断信号进程处理,此时因为进程2的I/O已经完成,所以操作系统会让进程二恢复运行,以完成后续工作。

    从上面的例子我们不难发现中断有三个特点:

    • 当中断发生时,CPU立即进入核心态
    • 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
    • 对于不同的中断信号,会进行不同的处理

    发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/O设备等)需要使用特权指令,因此CPU要从用户态转为核心态中断可以使CPU从用户态切换为核心态使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行

    需要注意的是,中断是CPU从用户态切换到核心态的唯一途径,核心态切换用户态只需要通过执行一个特权指令,将PSW的标志位设置为表示“用户态”的标志位

    中断的分类

    中断主要分为内中断外中断,内中断也称为异常、例外、陷入,外中断可以简称为中断(狭义上的中断就是指外中断)。

    这两种中断的区分主要根据信号的来源是CPU的内部还是外部,内中断与当前执行的指令有关,外中断与当前执行的指令无关。

    内外中断还有下面的细分:

    在这里插入图片描述

    指令中断如:系统调用时使用的访管指令。硬件故障如:缺页。软件中断如:整数除0。

    外设请求如:I/O操作完成发出的中断信号。人工干预如:用户强行终止有个进程。

    当然,有些书上也把中断做如下的细分:

    在这里插入图片描述

    但其实上面两种分类都是一样的,陷入值得就是有意为之的异常,比如系统调用;故障就是指由错误条件引起的,可能被故障处理程序修复,如缺页;终止就是无可恢复的致命错误造成的结果,终止处理程序不再将控制返回给引发终止的应用程序,如整数除0。

    外中断的处理过程

    下面拿一个案例来讲解外中断的处理过程:

    假如CPU正在执行某一个程序,这个程序有n条指令。CPU会按照顺序依次执行这些指令。并且它会遵循下面的步骤:

    1、在执行完每个指令之后,CPU都要检查当前是否有外部中断信号

    在这里插入图片描述

    2、如果没有检测到中断信号,则继续执行下一条指令;如果检测到外部中断信号,则需要保护被中断进程的CPU环境(如程序状态字PSW、程序计数器PC、各种通用寄存器)

    在这里插入图片描述

    3、根据中断信号类型转入相应的中断处理程序

    在这里插入图片描述

    4、恢复原进程的CPU环境并退出中断,返回原进程继续往下执行

    小结

    在这里插入图片描述

    其中,中断的概念和作用、中断的分类是考研的考点

    系统调用

    概念

    之前在介绍操作系统的概念时说到过操作系统在三个层次上应该实现的功能和目标,其中提到过在向用户提供一些简单易用的服务时,主要实现包括命令接口和程序接口,而程序接口就是由一组系统调用组成的。

    在这里插入图片描述

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

    系统调用所解决的问题就是禁止多个进程随机调用计算机资源,转而由进程本身运行时只能通过系统调用的方式向操作系统发出请求,最后再由操作系统对哥哥请求进行协调管理。

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

    下面是系统调用的具体分类:

    在这里插入图片描述

    主要注意到的是:系统调用一般涉及对系统资源的管理、对进程的控制,而这些功能一般都是需要执行一些特权指令才能完成的,因此系统调用的相关处理需要在核心态下进行。

    系统调用与库函数的区别

    上面说过系统调用可以理解为是一种可供应用程序调用的特殊函数,但是它并不等同于我们开发过程中使用到的库函数。

    实际上,编写程序时可以通过汇编语言直接调用系统调用,也可以通过高级变成语言来实现相同的结果i,而平常我们所接触到的库函数,像C库这种其实也是在内部实现对系统调用的请求:

    在这里插入图片描述

    当然,不是所有的库函数都会使用到系统调用,比如“取绝对值”;判断库函数是否使用系统调用,可以通过是否涉及对计算机共享资源的操作进行简单判断

    系统调用背后的过程

    对于系统调用的过程,可以看下面这张图进行简单的理解:

    在这里插入图片描述

    这里的int指令的参数x指明了系统调用号(操作系统根据这个来进行系统调用),此处的int不是整形的意思,而是interrupt(中断)的缩写

    当执行了陷入指令之后(用户态,进行系统调用请求,引发内中断),CPU的控制权就被转交给操作系统(核心态),操作系统通过相应的系统调用对程序传入的参数进行处理,系统调用完成后又会返回之前的用户程序,继续执行下一条指令。可以概括成下面的过程:

    传递系统调用参数->执行陷入指令(用户态)->执行系统调用相应服务程序(核心态)->返回用户程序

    需要注意的是:陷入指令是唯一一个只能在用户态执行,而不可在核心态执行的指令

    小结

    在这里插入图片描述

    展开全文
  • 如何学习操作系统这门课程?

    千次阅读 多人点赞 2021-09-29 14:51:53
    今天跟大家深度聊一下,操作系统这门课,怎么学,才能更牛逼? 一、做好前置功课 千万不要一上来就啃书,学任何课程之前,都需要做好功课: 这是一门什么课程?讲什么东西的? 位于整个计算机技术知识...
  • Linux和windows操作系统有哪些区别

    千次阅读 2021-05-09 05:25:15
    Linux和windows操作系统有哪些区别windows和linux是杰出的系统代表,Linux和windows操作系统有哪些区别呢?下面小编来给大家介绍,希望对大家有帮助!1. 界面windows:界面统一,外壳程序固定,所有Windows程序菜单几乎...
  • 目录一,绪论与背景1.1,绪论1.1.1,项目概述与背景1.1.2,定义与术语二,需求分析2.1,系统设计概述2.1.1,需求分析2.1.2,概要设计2.2,功能设计2.3,功能需求三,详细设计3.1,系统结构设计3.2,模块设计3.2.1,...
  • 操作系统为:Win10 x64 文中所用软件及AliOS Things源码包,公众号后台回复“AliOS”获取。 安装VSCode 一路默认,默认选项,安装VSCodeSetup-x64-1.50.0.exe,在里面安装 alios-studio 插件,在里面安装 C/C
  • 所以微软公司于1983年开发了一套基于DOS之上的视窗操作系统,取名WINDOWS1.0。它主要的概念是让用户面向对象,它将计算机中的设备、接口、文件夹、文件等制作成图标,让用户以更直观的方式,用鼠标完成对计算机的...
  • 文章目录第一章 计算机系统概述1.1 操作系统的基本概念1.1 练习题1.2 操作系统的发展与分类1.2 练习题1.3 操作系统的运行环境1.3 练习题1.4 操作系统的体系结构1.4 练习题 第一章 计算机系统概述 1.1 操作系统的基本...
  • 首先简单介绍一下什么是永恒之蓝,永恒之蓝【Eternal Blue】爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日,不法分子通过改造...
  • 如果是机器人初学者,还是推荐使用最主流操作系统windows学习这款ROS1和2。 先讲一个,也是最重要的一个优点,兼容性!!! win10环境可以预装如下机器人操作系统 ros1-melodic ros1-noetic ros2-dashing ...
  • 前言:该系列文章为笔者学习清华大学《操作系统原理》相关课程笔记,参考书籍《操作系统概念》《现代操作系统等》。如果涉及相关书籍或课程版权,联系即删~ 《操作系统原理》学习笔记:第2章 操作系统基础操作2.1 ...
  •   Vmware Workstation是一款功能强大、非常好用的虚拟机软件,可以在你的电脑上创建出虚拟磁盘,以供实现在电脑中安装电脑的操作。详细的介绍愚者这里就不赘述了,毕竟这期讲的是在Vmware Workstation下安装系统,...
  • 计算机操作系统

    千次阅读 2021-07-13 02:43:47
    spContent=Windows、Linux、Andriod、iOS,以及不久前横空出世的鸿蒙,都是操作系统。你几乎每天都在使用操作系统,可是你有没有想过,操作系统是如何设计实现出来的呢?本课程将带你深入剖析操作系统各个管理模块的...
  • 【单选题】以下( )不是智能手机操作系统。A. Android B. Windows Phone C. iOS D. Windows 7更多相关问题【单选题】有关 原创内容 ,下列说法错误的是()A. 可以试图 找到 相关内容 缺口 B. 内容要 有普世价值 C. 内容...
  • mac系统windows系统都有哪些不同

    千次阅读 2021-10-11 14:16:41
    Windows系统是现在使用率比较高的操作系统Windows的应用程序大多符合IBM公司提出的CUA 标准,也就是说所有的程序拥有相同的或相似的基本外观,包括窗口、菜单、工具条等。用户只需要掌握其中一个,就不难学会其他...
  • 1983年,由比尔·盖茨建立的Microsoft,也就是微软公司,开始研制Windows操作系统,那时的人们还在使用一个叫做MS-DOS的系统。这个操作系统没有任何图形的元素,用的是命令行来交互,大概……长这样: 类似于现在...
  • 为什么许多程序员要学习Linux系统?通常,人们习惯的计算机系统Windows系统。但是在IT互联网领域,程序员可能会不断接触Linux系统。那么我们谈谈当今市场下Linux的优势吧。Linux系统是开源的,并且有很多可用的软件...
  • Windows作为最流行的个人计算机操作系统,成为了我们学习、工作和生活的一部分。我们几乎每天都会经历打开文件管理器,进入具体磁盘,打开具体文件,而Windows采用文件系统管理着所有的文件和磁盘空间,这个文件系统...
  • 主流操作系统及其特点

    千次阅读 2021-03-10 15:36:54
    当前主流的操作系统windows、、android、iOS、symbian、linux/unix Windows:傻瓜式、好学习、工资低 Linux:linux认为每一个用户都是专业人士, 操作麻烦,学习比较难,免费的、开源的,linux性能好,可移植性好...
  • 操作系统(OS) 笔记根据B站王道计算机考研——操作系统视频整理所得,视频链接:https://b23.tv/0I2qex 视频中所用课件:链接:https://pan.baidu.com/s/101bFWm0Tv0emNpEneidYPA 提取码:y3dd 1.计算机...
  • 提出问题原因: 学习课程中的小作业。 先简单写一下各种操作系统资料:此处为百度得到。 顺便我为da'jia
  • 苹果电脑怎么装windows系统1.下载windows2.开始装windows 1.下载windows 1.千万不要去百度网盘去下载windows;不符合装进苹果电脑里面的条件 ...打开MSDN网站,在操作系统选项中找到(Windows 10, Ve
  • 操作系统的概念 (OS学习笔记)

    千次阅读 多人点赞 2021-06-29 13:16:19
    操作系统的概念定义 计算机系统的层次结构 操作系统( Operating System,os)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和...
  • 点上方蓝色“菜鸟学Python”,选“星标”公众号重磅干货,第一时间送到选自towardsdatascience,作者:Ahinand机器之心编译虽然大多数深度学习模型都是在 Linux...
  • 操作系统学习总结

    千次阅读 2020-12-18 11:54:55
    操作系统学习总结标题绪论操作系统的定义操作系统的特征操作系统的功能操作系统的分类硬件处理机的状态及分类管态(uperitor Mode )核态( Kemel Mode )管态用户态(User Mode)指令分类特权指令非特权指令中断的定义...
  • 本章节将介绍各类操作系统的特点。 裸机系统 单片机的程序可以分为三种:轮循系统、前后台系统和多任务系统。 轮询系统 即在裸机编程时,先初始化相关硬件,让主程序在一个死循环里面不断循环,顺序地处理各种事件。...
  • Parallels Desktop 17.1.0 安装 Windows10 提示“安全启动功能防止操作系统启动”怎么解决?如下图提示: 1、打开控制中心,找到刚刚本来要安装的 Windows10 ,点击右下角的齿轮图标,如下图: 2、选择...
  • 汽车操作系统最新研究

    千次阅读 2021-07-25 11:52:28
    前言 软件定义汽车背景下,操作系统是汽车生态发展的灵魂。随着汽车电动化、智能化、网联化的发展,汽车操作系统已经成为车辆中重要的组成部分之一,一定程度上决定了车辆的... 汽车操作系统包括安全车载操作系统...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 403,060
精华内容 161,224
关键字:

windows操作系统学习