当前位置: 首页 > 后端技术 > PHP

计算机操作系统基础知识(一)---操作系统概述

时间:2023-03-29 14:44:25 PHP

简介计算机基础知识的重要性不言而喻。现在的技术可以说是秒级更新的速度,但是基础的东西几十年都不会变一次。本文是第一篇,操作系统概览。它将带您熟悉整个计算机操作系统中的内容。也是我们在后续系列文章中要深入学习的知识点。系统阶段这一阶段,计算机是人工操作的,操作时,每个用户都会独占计算机,计算机的CPU等待人工操作。当用户进行输入输出时,内存和CPU是空闲的。因此,在没有操作系统的时代,计算机资源的利用率是很低的。2.批处理系统阶段在这个阶段,计算机不再需要等待人工输入。因为这时候用户会批量导入任务。这样,用户导入任务后就可以离开,电脑可以自动上班。因此,在这个阶段,计算机的使用率得到了很大的提高。同时,在这个阶段也提出了一个很重要的设计,叫做多道程序设计。这种设计后来也影响了我们所有的操作系??统。3、分时系统阶段这个阶段最重要的设计就是人机交互的设计,因为在前两个阶段,程序的执行过程中是没有办法人为干预的。机器可以交互。而且,人们可以实时调试程序。这种分时系统允许多个用户共享计算机的资源。因此,在这个阶段,计算资源的利用率得到了极大的提升。分时系统也是主流系统多道程序的概念:早期的批处理系统一次只能处理一个任务。虽然在这个批处理系统中,我们可以批量输入任务,但是此时计算机同时只能运行一个任务。也就是说,虽然任务是分批输入的,但是计算机一次只能执行一个任务。由于多道程序设计,批处理系统可以一次处理多个任务。多道程序是指在计算机内存中同时存储多个程序,并且这些多个程序互不干扰。这里的多个程序在计算机的管理程序下相互穿插运行,以提高计算机资源的利用率。因此,多程序的管理是操作系统的一个重要功能。计算机操作系统对多程序和资源的管理可以分为五大功能:进程管理、存储管理、作业管理、文件管理、设备管理,后面学习这五项:进程管理、进程管理、进程实体进程五态管理模型进程同步进程管理进程管理Linux进程调度作业管理死锁存储管理内存分配与恢复存储管理分段存储管理Linux存储管理虚拟内存文件管理操作系统文件管理Linux文件系统Linux文件基本操作设备管理操作系统设备管理二.操作系统概述1.什么是操作系统?为什么要使用操作系统(1)什么是操作系统操作系统是管理计算机硬件和软件资源的计算机程序。也就是说,操作系统实际上是一个计算机程序,其功能是管理计算机的硬件和软件资源。管理和配置内存,确定资源供需顺序,控制输入输出设备等。操作系统为用户提供与系统交互的操作界面。操作系统种类繁多,不限于电脑,从手机到超级计算机。操作系统可以简单也可以复杂。在不同的设备上,操作系统可以呈现给用户多种多样的操作方式(比如在手机上,我们可以通过手指的触摸来控制手机中的硬件设备(比如摄像头、声音),而在我们普通的PC端,主要是通过鼠标和键盘来控制硬件)我们通常可以访问的计算机操作系统:比如手机,手机分为Android和IOS。其实我们所说的Android是指Android操作系统,IOS是指IOS操作系统。在Android中,我们经常会知道小米的MIUI、OPPO/VIVO的colorOS、魅族的Flyme等,严格来说这些都不算操作系统。、优化等,本质还是安卓操作系统)b.再比如我们常说的电脑,Windows、Linux、MacOS等,这些都是我们生活中常见的电脑操作系统。想想Linux系统有Centos、Ubuntu,它们本质上都属于Linux操作系统。下面给出计算机操作系统的最终定义:它是一种管理硬件并提供用户交互的软件系统(2)为什么要使用操作系统?我们不可能直接操作计算机硬件。比如我需要电脑帮我计算1+1。不可能说我直接告诉CPU我们要计算1+1,而是需要通过操作系统告诉硬件我们要做什么。计算机发展到现在,各种复杂的设备都需要统一的接口。操作系统提供统一的操作界面,屏蔽不同设备间的差异。有了操作系统,我们就不需要关注不同的设备,也不需要关注不同的接口。操作系统的简单性使更多人可以使用计算机。更多的人可以使用计算机,意味着生产力的解放和发展,这对人类技术的提高有很大的帮助。2.操作系统的基本功能。服务器资源(即CPU资源)(2)内存资源(内存、硬盘)(3)IO设备资源(打印机、键盘、显示器)(4)文件资源操作系统会统一管理计算机资源。比如我们要操作一个文件,我们不直接操作文件存放的地方,我们是通过操作系统来操作文件的。例如,我们在存储或读取文件时,并不是直接控制内存中的机械设备来读取它,而是通过操作系统来读写这些信息。有了操作系统,我们在使用这些计算机资源的时候有什么不同呢?用户无需为硬件接口编程。也就是说,我们不需要针对内存、IO设备等硬件,而只需要针对操作系统进行编程即可。例如操作系统中有IO设备管理软件。该软件提供读写界面。用户在编程时,无需具体接触某个IO设备,直接调用该接口即可进行操作,实现对计算机资源的控制。抽象的。这种抽象是通过管理软件实现的。这些管理软件屏蔽硬件设备,为用户提供逻辑设备,让每个用户在使用时都是一样的。这是计算机资源的抽象操作系统。用户和计算机之间的接口。如:图形窗口形式(在windows中通过鼠标点击)、命令形式(在Linux中,通过在shell终端中输入命令)、系统调用形式(主要在编程时,如打开文件、读取数据等)。都是通过系统调用完成的)如果给硬件、操作系统和用户画一个层次,接口就相当于下面红色部分的层次:3.操作系统相关的概念主要有四个相关的概念需要了解理解:并发性共享性、虚拟性、异步性(1)并发性并发性是具备以下三个特性的前提。只有理解了并发,才能理解后三个特性。要理解并发,我们需要结合并行的概念来理解,并行是指两个或多个事件可以同时发生。并发意味着两个或多个事件可以在同一时间间隔内发生。那么并行和并发在计算机中是如何体现的呢?我们来思考一下前面提到的多道程序设计的概念,它是并发和并行的基础(a)对于单处理器来说,程序主要是并发执行,假设蓝色的是程序A,黄色的是程序B、在某一时刻,只有一个程序可以占用CPU,这时两个程序交替运行(多个程序交替运行),使得它们在单处理器中并发执行(b)对于双处理,每个处理器上的程序运行交替,但对于两个处理器,在某个时刻,两个程序同时运行。这就是并行性在计算机中的体现(2)共享共享性能是指操作系统中的资源可以被多个并发程序共享。这种共同使用的形式称为资源共享。举个例子:假设系统中有一块内存,红色的部分是程序A使用的,绿色的是程序B使用的。虽然A和B使用的是主存的不同部分,但是我们还是说这个主存是共享的,程序A和程序B都可以共享这个主存资源。按属性分为两种方式:互斥共享方式并发访问方式互斥共享:当资源被程序A占用时,其他进程想用就只能用。只有进程A使用完后,其他进程才能使用。资源。比如打印机被某个程序A使用,那么其他要打印的程序只能在程序A打印完后才能使用打印机。同时访问:某个资源在一段时间内被多个程序并发访问。这种“同时性”是宏观的。从宏观上看,资源是可以同时访问的。比如我们使用硬盘的时候,假设有一个程序A,程序B和程序B都想把数据写入磁盘,因为只有一个悬臂,所以当程序A写入时,程序B就不能写入,但是因为写数据比较快,如果我们在一段时间内去磁盘观察的话,可以认为是可以同时访问的。如果强调在一段时间内可以并发应用,那么它实际上是一种共享并发访问的形式。(3)虚拟性虚拟性表现为一个物理实体转化为若干个逻辑实体,物理实体是真实的(可能是计算机中的某个设备),逻辑实体是虚拟的。虚拟技术主要包括时分复用和空分复用。A。时分复用技术是指在没有节目并发使用的情况下,在时间上对资源进行复用。多程序分时使用计算机硬件资源(如多程序交替使用CPU资源)多路复用技术有虚拟处理器技术和虚拟设备技术。虚拟处理器技术:借助多程序技术为每个程序创建一个进程多个程序时分复用处理器虚拟设备技术:将物理设备虚拟化为多个逻辑设备每个程序占用一个逻辑设备多个程序通过逻辑设备并发访问b.采用空分复用技术实现虚拟磁盘和虚拟内存,提高资源利用率和编程效率。虚拟磁盘技术:将物理磁盘虚拟成多个逻辑磁盘(比如我们的硬盘可以虚拟成C盘、D盘、E盘),使用起来更安全、更方便(比如我们销毁Disk中的一些文件时)C、不会影响其他磁盘)虚拟内存技术:从逻辑上扩展了程序的存储容量,这样程序可以使用比实际内存更大的容量,大大提高了编程效率(当进程是运行时,先把一部分加载到内存中,另一部分留在磁盘上,当要执行的指令或要访问的数据不在内存中时,操作系统自动完成将它们从内存中调出的工作disktothememory)(4)asynchronous多程序环境下的异步表现,允许多个程序并发执行,进程在使用资源时可能需要等待或放弃,进程的执行不是一口气完成,而是在走走停停的情况下前进(假设某个进程运行到某个时刻需要使用某个资源,如果这个资源被占用了,可能是这个进程会停止或者等待资源释放)上面的红线是一个时间推进的时间轴,有A、B、C三个程序交替运行,假设在某个时刻,A释放了A的资源打印机,同时B和C都需要使用打印机的资源,那么B和C就会进行竞争,假设C成功抢占了打印机的资源,那么在剩余的时间轴上,主要是C在运行,另一种可能即B抢占了打印机的资源。这时候B会跑一段时间,然后再去C跑。所以到这里,因为我们不知道是B抢占了打印机还是C抢占了它,所以进程在以一种不可预知的速度推进着。不可预测的事情导致程序的异步。在瞬息万变的技术中寻找相同点,是一个技术人的核心竞争力。知行合一,理论与实践相结合站在巨人的肩膀上学习,向前辈致敬参考:https://coding.imooc.com/clas...