精华内容
下载资源
问答
  • 操作系统的作用
    千次阅读
    2019-09-26 20:16:45

    什么是操作系统?

    操作系统就是管理计算机硬件与软件资源的计算机程序,
    同时也是计算机系统的内核与基石
    没有安装操作系统的计算机,通常称作为“裸机”;

    Windows就是操作系统的一种:
    如果想在裸机一个编写的程序,就必须用机器语言书写程序;

    操作系统作用就是和硬件打交道的,把所有跟硬件打交道的工作
    封装成了一个一个的系统调用,系统调用就是指挥硬件的二进制命令,3.

    操作系统的2个作用的总结

    1,操作系统可以直接和计算机硬件打交道
    2,操作系统把操作硬件的这些方法封装成一个又一个系统调用,供给其他成员来访问,
    这样能够简化程序员的工作

    举例:
    如果想听一首音乐,要先下载一个音乐软件,点开即可

    如果没有操作系统的话需要进行以下几步?
    1,将歌曲文件从硬盘加载到内存
    2,使用声卡对音频数据进行编码
    3,将解码后的数据发送给音响

    而有了操作系统后上面的三个方法被操作系统封装了可以直接进行调用

    不同领域的主流操作系统(4种)

    桌面操作系统

    1,windows系列(安全性和稳定性相比较不太好)
    用户群体大

    2,macOS(安全性和稳定性高)
    适合于开发人员,有非一般的开发体验

    3,Linux
    应用软件少,

    服务器操作系统

    1,Linux
    安全稳定免费
    占有率高

    2,Windows Sever
    付费
    占有率低

    嵌入式操作系统
    Linux

    移动设备操作系统
    ios
    Android

    更多相关内容
  • 操作系统引论 操作系统是配置在计算机硬件上的第一层软件,...操作系统的目标和作用 操作系统的目标 在计算机系统上配置的操作系统,其主要目的是:方便性、有效性、可扩充性和开放性; 方便性 未配置操作系...

    操作系统引论


    操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充。其主要功能为管理计算机设备,提高他们的利用率和系统吞吐量,并为用户和应用程序提供简单的接口,便于用户使用。OS是现代计算机系统中最重要的和最基本的系统软件。

    操作系统的目标和作用

    操作系统的目标

    在计算机系统上配置的操作系统,其主要目的是:方便性、有效性、可扩充性和开放性;

    1. 方便性

      未配置操作系统的计算机系统难以直接使用,因为此时对计算机系统的操作需要使用机器语言来完成;通过操作系统提供的各种命令来操作计算机极大方便了用户,似的计算机系统易学易用;

    2. 有效性

      操作系统的有效性有两层含义:

      第一层含义是提高系统资源的利用率。在未配置操作系统的计算机系统中,处理机和IO设备经常处于空闲状态,系统资源利用率地下;

      第二层含义是提高系统的吞吐量。操作系统通过合理组织计算机的工作流程,加速程序的运行,缩短程序的运行周期以实现系统吞吐量的提高;

      可以说,提高系统资源的利用率是推动OS发展的最重要动力;

      方便性和有效性是设计OS时最重要的两个目标。由于以前计算机系统比较昂贵,有效性显得更为重要;现在随着硬件的高速发展,方便性越来越突出,比如微机操作系统中的图形用户界面以及为程序员提供的大量系统调用接口方便了计算机系统的使用者和开发者;

    3. 可扩充性

      为了适应计算机硬件、计算机体系结构以及应用程序的发展,操作系统需要有很好的可扩充性。而可扩充性主要受操作系统结构的影响,因此提高操作系统的可扩充性在一定程度上促进了OS结构的不断发展:从早期的无结构到发展成模块化结构进而发展到层次化结构,现在OS广泛采用微内核结构。

      微内核结构可以方便地添加、修改相应的功能和模块,具有良好的可扩充性。

    4. 开放性

      计算机应用的日益普及,使得计算机软、硬件的兼容变得重要起来;随着操作系统的应用环境由单机环境转向网络环境,其开放性变得尤为重要;

      所谓的开放性是指,系统遵守世界标准规范,特别是开放系统互联OSI国际标准,遵守国际标准开发软、硬件都可以彼此兼用,方便实现互联;

      开放性是20世纪90年代后计算机技术的一个核心问题,也是衡量一个新系统能否被广泛应用的关键;

    操作系统的作用

    操作系统在计算机系统中所起的作用可以从用户、资源管理以及资源抽象等不同角度考虑;

    1. OS是用户和计算机硬件系统之间的结构

      OS位于用户和计算机硬件系统之间,使用户可以快速、准确、可靠地操作计算机硬件以及运行自己的程序。用户有三种方式使用计算机:命令(直接使用操作系统提供的命令来使用计算机硬件)、系统调用(编写一段C程序,通过操作系统提供的系统调用来使用计算机)、图标-窗口(如在Windows系统中通过双击图标等方式使用计算机);

    2. OS是计算机系统资源的管理者

      计算机系统中存在多种硬件和软件资源,总体来说这些资源可以分为:处理机、存储器、IO设备以及文件(包括程序和数据),OS的作用就是管理这些系统资源;

      1. 处理机管理:分配和管理;

      2. 存储器管理:内存分配和回收;

      3. IO设备管理:分配与操作;

      4. 文件管理:存取、共享、保护

        由于多用户同时使用一台计算机时,会发生系统中共享资源需求的冲突。操作系统需要对使用资源的请求作出授权以协调多用户的使用;

    3. OS实现了对计算机资源的抽象

      OS是铺设在计算机硬件上的多层软件的集合;它们不但增强了系统的功能,还隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象模型;随着抽象层次的提高,抽象接口所提供的功能就越强,用户使用起来就越方便;

      这里需要注意的是,操作系统将具体的硬件抽象为一组数据结构来实现对硬件的隐藏,并向上提供一组针对这一数据结构的方法来隐藏对硬件的操作。

    操作系统的发展过程

    未配置操作系统的计算机系统

    1. 人工方式

      存在两方面缺点,一是用户独占全机;二是CPU等待用户操作;人工操作使得计算机效率低下,这也被称为人机矛盾,主要体现在CPU速度和IO设备速度的不匹配上面。

    2. 脱机输入/输出方式

      用户首先将记录有程序和数据的纸带在外围机的控制下输入磁带上,然后当CPU需要这些数据的时候便直接从磁带上获取;当CPU输出时,也是先将数据从高速内存送到磁带,然后再通过另外的外围机将磁带上的结果通过相应输出设备进行输出;因为系统的输入和输出都是在外围机的控制下完成,即在脱离主机的情况下完成,这种方法称为脱机输入/输出方式。这种方式有两个好处:

      一是减少了CPU等待时间。因为装带、卸带、数据从低速IO设备到高速磁带(或者相反)的操作是在外围机上进行的,并不占用主机时间。但是,这是从一道作业执行的角度来看,当有多道作业需要处理时,作业切换时间仍旧存在,即磁带上还是只有一道作业的数据。

      二是提高了IO速度。CPU从磁带上获取数据的速度要高于从纸带上直接获取的速度。IO速度虽然提高,但和CPU的处理速度还是不匹配的。

    这个时期的计算机属于第一代计算机。

    单道批处理系统

    1. 为实现对作业的连续处理,将一批作业以脱机输入/输出的方式输入到磁带上,并为系统添加监控程序,计算机系统在监控程序的控制下,连续处理这一批作业;

      虽然系统对作业的处理是成批进行的,但是内存中始终还是只有一道作业,故称为单道批处理系统。单道批处理系统旨在解决人机矛盾和CPU与IO设备速度不匹配的问题。这和操作系统的目的是一致的,但是单道批处理系统仍然不能充分利用系统资源,最终被淘汰。

    2. 单道批处理系统的缺点主要体现在当程序发出IO请求后,CPU便处于等待状态,必须在IO处理结束后才能继续处理,而IO设备的速度又不是很高(和CPU的处理速度相比),所以CPU的空闲时间仍旧很多。

      从这里可以看出,单道批处理系统减小了作业切换时间,即减少了CPU在系统执行某一作业之前以及之后的空闲时间,但是并没有减少CPU在处理作业过程中产生的空闲时间。即磁带上存有多道作业,但是内存中仍然只有一道作业。

    这个时期的计算机多属于第二代晶体管计算机

    多道批处理系统

    1. 为了进一步提高计算机系统的吞吐量和资源利用效率,出现了多道批处理系统。多道批处理系统将用户提交的作业视为一个队列,然后由作业调度程序按照一定的算法从该队列中选出若干作业调入内存,使它们共享计算机系统资源。由于内存中存在多道作业,当一道作业发出IO请求时,CPU可以执行其他作业,从而减少了CPU空闲时间。
    2. 多道批处理系统的优缺点:
      1. 资源利用效率高:该方式减少了CPU在处理作业中产生的空闲时间,同时内存中存有多道作业,也提高了内存的利用效率,IO设备的利用率也得到了提高;
      2. 系统吞吐量大:这是因为CPU等系统资源一直处于“忙碌”状态,并且只有当作业完成以及无法继续执行时才发生调度切换,系统的开销也相对较小。(即没有频繁的切换)
      3. 平均的周转周期长,因为作业要排队被处理。
      4. 作业和用户之间没有交互能力。一旦作业被送入系统,直到作业完成,用户都不能和作业进行交互,这为程序调试带来不便;
    3. 多道批处理系统需要处理的问题:
      1. 处理机分配问题:既要满足各道作业的运行需求,又要提高处理机的利用率;
      2. 内存分配和保护问题:系统需要为每道作业分配必要的内存空间,同时要保证该空间不被其他作业打扰;
      3. IO设备分配问题:同处理机有相同的要求;
      4. 文件组织和管理问题:系统既要有效组织存放在系统中的大量的程序和数据又要便于用户使用,保证数据的安全性;
      5. 作业管理问题:系统中存在各种作业,需要对它们进行管理;
      6. 用户和系统的接口问题:用户和计算机系统的交互方式,计算机系统应该对用户友好。

    从这里可以看出,随着系统功能和性能的提高,所涉及的管理管理越来越多:从没有管理程序到为系统添加监督程序,再到增加调度程序等。而这些软件正是操作系统的重要组成部分。

    分时系统

    1. 由于多道批处理系统中用户没有办法同作业进行交互,为满足用户同作业的交互,一种新型的操作系统出现了,即分时系统。分时系统的出现是为了满足用户对人-机交互的需求,此时计算机系统不再单纯的执行计算任务,具有了人-机交互能力的计算机系统,功能上将更加丰富。同时由于计算机系统当时比较昂贵,一台计算机要同时供很多用户共享使用,用户希望共享的过程更加友好即共享状态下的使用就像是独占使用。
    2. 分时系统需要解决的问题:
      1. 及时接受:为解决该问题,分时系统中配有多路卡。多路卡的作用就是分时多路复用,即主机以很快的速度周期性扫各个终端,接收数据。比如,有64个终端共享一台计算机主机,那么只需配置一个64多路卡。同时还需要为每一个终端分配相应的缓冲区进行暂存用户的命令。
      2. 及时处理:人机-交互的关键是用户可以对其程序进行实时控制,这要求用户的程序需要在用户发出控制指令的时候位于内存当中并且频繁获得处理机进行运行;否则就无法实现用户控制;因此,分时系统彻底改变了批处理系统的运行方式:
        1. 作业直接入内存。
        2. 采用轮转运行的方式,引入时间片的概念,每一个程序每次只能运行一个时间片的时间,从而避免一个作业长期占用处理机的现象;
    3. 分时系统的特点:
      1. 多路性:多台终端(显示器和键盘,即输入和输出设备)同时连接到一台主机,按分时原则共享系统资源;
      2. 独立性:各个终端独立运行,互不干扰;
      3. 及时性:用户的请求通常在很短时间里就能得到响应。
      4. 交互性:用户通过终端可以同系统进行广泛的交互。即请求系统提供多方面的服务。

    促进多道批处理系统形成和发展的主要动力是提高系统吞吐量和资源利用率,而促进分时系统形成和发展的主要动力则是用户关于人机交互以及共享主机的需求;

    实时系统

    实时系统是这样的一个系统:系统的正确性不仅通过运算结果确定还取决于产生这些结果的时间,它必须对所接受的信号及时或者实时做出响应。即实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调统一地运行;实时任务可以分为周期性实时任务和非周期性任务,它们都有一个Deadline,包括开始截止时间以及完成截止时间。也可以分为硬实时任务以及软实时任务。硬实时任务要求高实时性;软实时任务则要求比较松。

    实时系统常用于工业控制系统、信息查询系统、多媒体系统、嵌入式系统;

    推动操作系统发展的主要动力

    1. 不断提高计算机资源的利用率(操作系统的目标之一:有效性);
    2. 方便用户,提供良好的人机交互环境(操作系统的目标之一:方便性);
    3. 计算机硬件的不断发展;
    4. 计算机体系结构的不断完善和发展;
    5. 不断出现的新的应用需求;

    操作系统的基本特性

    并发

    正是由于系统中的程序可以并发执行,才使得OS能有效提高系统中的资源利用率,增加系统的吞吐量。

    1. 并发与并行:并行和并发既相似又有区别。并行性是指额两个或者多个事件在同一时刻发生。并发性是指两个或者多个时间在同一时间间隔内发生;

      在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,某一时刻仅有一道程序在执行,即微观上是交替执行,宏观上并发执行。

      倘若在计算机系统中有多个处理机,那么并发执行的程序便可以被分配到多个处理机上,实现并行执行。

    2. 引入进程:进程是指在系统中能独立运行并作为资源分配的基本单位, 它由指令、数据结构和堆栈等组成,是一个能独立运行的活动实体。

    共享

    OS环境下的资源共享或者称为资源复用是指系统中资源可以供多个并发执行的进程共同使用。既限定了使用的时间(进程在内存期间)也限定了使用空间(内存)。因为系统内的资源远远小于各个进程的需求总和,所以操作系统需要对共享资源进行管理。由于资源的属性不同,对资源复用的方式也不同,总体上分为两种:互斥共享和同时访问。

    1. 互斥共享

      在一定时间段内,只允许一个进程访问该资源;这种资源也称为临界资源,对临界资源的访问称为互斥式访问。系统中的许多资源都属于临界资源。

    2. 同时访问

      系统中有些资源允许在一段时间内有多个进程同时访问。这里所谓的同时是指,在单处理机环境下是宏观意义,即一段时间内多个进程访问了该资源(也许某个进程对该资源的使用尚未完毕,该资源就被其他进程夺取,这在互斥访问中是不行的),微观意义上来说各个进程对该资源的访问是交替进行的。

    共享和并发是多用户多任务系统的两个最基本特征。没有并发,就谈不上共享;没有互斥,共享就的没有意义(对资源的访问可能出错);

    虚拟

    OS中,将一个物理实体映射为多个逻辑实体的技术成为虚拟。OS中常见的虚拟手段有时分复用技术和空分复用技术

    1. 时分复用技术

      时分复用技术能提高资源利用率的根本原因是,它利用设备为某一任务服务的空闲时间,转而为其他任务服务,设备得到充分利用。

      如虚拟处理机技术,利用进程,让多道程序并发执行,虽然只有一台处理机,但是却有多道程序在运行,逻辑上增加了处理机的数量,提高了处理机的利用率。分时系统就利用了时分复用技术来实现良好的人机交互性。除了虚拟处理机技术,还有虚拟设备的技术。比如虚拟存储器技术,通过分时使用内存空间,使得对内存空间有着较大需求的程序在较小的内存中即可运行。

    2. 空分复用技术

      空分复用技术的例子就是在内存方面,利用存储器的空闲空间分区域存放和运行其他多道程序,以此提高内存的利用效率;

    异步

    在多道程序环境中,由于进程的并发执行以及对资源的互斥访问等原因,进程的执行并不是一气呵成的,进程何时能够获得处理机得以运行,何时因为访问的资源无法使用而停止都是未知的,即进程的推进方式是人们不可预知的,这就是进程的异步性。

    操作系统的主要功能

    这部分大体上和操作系统的作用这部分内容相同,但是细节上更为具体~

    处理机管理

    1. 进程控制:进程的生(创建进程、分配需要的资源)和死(撤销进程、回收分配的资源)以及进程状态的转换。
    2. 进程同步和互斥:为使多个进程有条不紊地执行,需要一定的机制来协调各个进程的运行。常见的协调方式有:进程互斥,主要发生在对临界资源的访问时;进程同步,主要发生在需要控制进程的执行次序时。最简单的互斥机制就是为临界资源加锁;而实现同步则可以使用信号量机制。
    3. 进程通信:进程通信常发生在需要多个进程相互合作去实现某一目标的时候,进程通信的本质是进程之间的信息交换。当相互合作的进程在同一计算机系统时,发送进程可以使用发送命令直接将信息放入目标进程的消息队列中,当需要通信的进程不在同一计算机系统中时就需要另外一些策略。
    4. 调度:包括作业调度和进程调度。作业调度是通过一定的算法策略从外存上将作业放入内存,分别为它们创建进程,分配资源,使之处于就绪状态;进程调度是从就绪状态的进程队列中选择一定的进程为之分配处理机,使它可以运行。

    存储器管理

    1. 内存分配:为每道进程分配内存空间,需要考虑如何分配才能提高存储器的利用效率,减少不必要的空间碎片,如何处理进程在运行时提出的内存申请的问题;分配策略上包括静态分配和动态分配。静态分配是指作业可使用的空间大小在作业装入的时候就已经确定,不允许运行时申请以及移动。动态分配则相反。
    2. 内存保护:存在两种保护,一是各个用户进程只能在自己的内存空间中运行,不得使用其他非共享用户进程的内存空间;二是用户进程不得访问操作系统的程序和数据。常见的内存保护机制是设置两个界限寄存器,标志可使用空间的上界和下界,系统对每条指令所要访问的地址进行越界检查。
    3. 地址映射:编译和链接所得到的可执行文件,其程序地址是从0开始的,需要操作系统将从0开始的逻辑地址转换为物理地址,需要硬件的支持。
    4. 内存扩充:指通过虚拟存储技术,从逻辑上扩充存储器的大小,使更多的用户进程可以并发执行。常见的机制包括:请求调入和置换功能。请求调入允许在仅装入部分程序和数据的情况下就启动该程序的执行,当所需要的指令或者数据不在内存空间的时候,通过向OS发出请求,由OS将所需要的部分调入内存。置换则是指,允许将内存中暂时不用的程序和数据移至硬盘,以腾出内存空间。

    设备管理

    总体来说,设备管理内容包括,响应进程的IO请求、为进程分配IO设备,完成IO操作;提高IO速度,提高CPU和IO设备的利用率。

    1. 缓冲管理:通过在CPU和IO设备之间设置缓冲,有效解决IO设备和CPU的速度不匹配问题,提高CPU的利用率,提高系统的吞吐量。常见策略包括单缓冲、双缓冲以及缓冲池等。
    2. 设备分配:根据用户IO请求、系统现有资源状况以及设备分配策略来分配设备。同时还需要考虑,设备分配完后,系统是否安全等问题。
    3. 设备处理:检查IO请求是否合理,了解设备状态,读取有关的参数和设置设备的工作方式,然后项设备控制器发出IO命令,启动IO设备完成相应IO操作,响应中断请求并调用相应中断处理程序进行处理。

    文件管理

    1. 文件存储空间的管理:由文件系统统一管理文件以及文件的存储空间以提高外存的利用率和读取速度,为此系统需要设置相应的数据结构,用于记录文件存储空间的使用情况。
    2. 目录管理:为每个文件建立一个目录项,以记录文件的详细情况。并通过对目录项的管理提供文件的共享以及快速的目录查询等功能,提高文件检索速度。
    3. 文件的读写管理和保护:文件的读写管理主要体现在对文件读写指针的管理;文件的保护主要是防止未经核准的用户存取文件以及防止用户以错误方式使用文件。

    提供操作系统与用户之间的接口

    用户接口包括三类:联机用户接口、脱口用户接口和程序用户接口;

    1. 联机用户接口:由一组键盘操作命令及命令解释程序组成。通过在终端或者控制台输入一条命令然后通过命令解释程序解释执行来实现对用户作业的控制;
    2. 脱机用户接口:为批处理作业用户提供,用户首先将对作业进行的控制和干预命令实现写到作业说明书上,然后将其同作业一起提交给系统,系统处理作业的时候会通过命令解释程序对作业控制说明书上的命令解释执行,以此实现用户对其作业的控制;
    3. 图形用户接口:就是通过图形化的操作界面,用容易识别的各种图标来将系统的各项功能、各种应用程序和文件直观表现出来。以鼠标取代命令的键入等。
    4. 程序接口:主要为用户的程序使用操作系统的服务提供、访问系统资源提供便利。它由一组系统调用组成。是用户程序取得系统服务的唯一途径。
    展开全文
  • 最近在研究操作系统这门基础专业课,在前面也写了篇博客–进程和线程的区别,从操作系统的发展过程来引出进程和线程被引入到操作系统的目的,并从六大方面对进程和线程进行对比。在里面简单的提了下操作系统的发展...

    最近在研究操作系统这门基础专业课,在前面也写了篇博客–进程和线程的区别,从操作系统的发展过程来引出进程和线程被引入到操作系统的目的,并从六大方面对进程和线程进行对比。在里面简单的提了下操作系统的发展过程,不过总感觉这个OS专栏少了一个大纲性质的东西,因此写了这篇博客,后续的博客也都是对本文中操作系统中的功能和特性来进行展开的。

    ​ 本来是只讲OS的发展过程的,不过既然是综述性的博文,就把OS的概述都讲一讲,有些概念可能大家都已经知到,如有写的不好的地方或是错误的地方,还请批评指正。

    1.操作系统的目标

    ​ 首先给出操作系统的概念:操作系统(Operating System, OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。OS是现代计算机系统中的最基本和最重要的系统软件,而其他的如编译软件,数据库系统等系统软件和大量的应用软件都直接依赖于操作系统的支持。

    ​ 事实上我们日常中使用的PC上,安装着Windows、MacOs或者linux等,手机上安装着的Android、IOS或者是已经死亡的Symbian,又或者正在兴起的国产鸿蒙OS,在具体到我们的生活中,智能电视、冰箱和家居等都安装着各式各样的OS,操作系统已经在我们身边生根发芽了,并且大家都习以为常,OS在无形中在帮助我们管理着设备上的硬件资源,OS已必不可少。

    ​ 下面我们通过一张图来说明操作系统在计算机中的层次结构,在图中我们可以看到,OS是直接控制硬件的系统软件,对于用户来说,用户直接操作应用,而应用再来调用语言处理程序或OS提供的接口来操作硬件,OS对于用户来说是透明的。
    操作系统在计算机中的层次结构

    操作系统的主要目标是:

    1. 方便性:方便用户(普通使用者和开发人员)使用,更好的操作计算机的硬件资源;
    2. 有效性:最主要的是提高系统的资源利用率和系统吞吐量,在早期计算机的资源非常有限,提高有效性也是推动操作系统发展的主要动力;
    3. 可扩充性:可以使用计算机硬件、体系结构以及计算机应用发展的要求,可扩充性一直推动OS体系机构的不断发展;
    4. 开放性:OS需要遵循世界标准规范,尤其是开放系统互连OSI国际标准,可以是计算机和应用能够彼此兼容,方便的实现互联。

    ​ 上述是OS的主要目标,但是OS的目标与使用环境有关,不同的OS的设计目标是不一致的,后面再讲述OS的发展过程时会单独在讲述各个OS的目标。

    2.操作系统的作用

    ​ 我们从用户、资源管理及资源抽象多个不同的角度来进行分析。

    1. OS作为用户和计算机硬件系统之间的接口:主要是用户能够方便、快捷、可靠的操纵计算机硬件和运行自己的程序,如下图所示。从图中可以看到,用户可以通过系统调用、命令、图标、窗口的方式来实现与OS的通信,并使用OS提供的服务。
      OS作为用户和计算机硬件之间的接口
    2. OS作为计算机系统资源的管理者:主要管理处理机、存储器,I/O设备以及文件(数据和程序),相应的这也是OS的主要功能。
    3. OS实现了对计算机资源的抽象:通过对资源的抽象,不但增强了系统的功能,还隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象模型,让用户操作起来更简单。

    3.操作系统的功能

    ​ 此处的功能我们按照百度给出的五大管理功能来总结,有些教材和资源对此可能会有些不同,但是中心思想都是一致的。因此OS的主要功能如下:

    1. 设备管理:完成用户进程的提出的I/O请求,提高CPU和I/O设备的利用率,提高I/O,方便用户使用I/O设备;

    2. 作业管理:负责作业的输入和输出,作业的调度(选取进入内存)与控制(挂起操作);

    3. 文件管理:主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全;

    4. 处理机管理:也称进程管理,主要功能有创建和撤销进行,对诸多进行的运行进行协调,实现进程间的信息交换,以及按照一定的算法把处理机分配给进程(进程调度算法);

    5. 存储器管理:存储器管理主要管理的是内存,主要任务是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能存逻辑上扩充内存。

      后面的文章也是主要以OS的功能来进行展开的。

    4.操作系统的特性

    ​ 除了不同的操作系统所特有的一些特性外,所有的OS都共同具有四个基本特性,也就是这些基本特性让操作系统可以更好的为多道程序的并发执行创造好的条件。

    1. 并发:Concurrence,指两个或多个事件在同一时间间隔内发生,正是因为系统中的程序能并发的执行这一特征,才使得OS可以有效的提高系统中的资源利用率,关于并发的概念可以参看我的另一篇博文–并发和并行的区别。也正是为了增加操作系统的并发性,OS引入了进程和线程的概念,让程序可以并发的执行,甚至是一个进程中的线程可以并行的执行在多个处理机上。
    2. 共享:也称资源复用,是指系统中的资源可供内存中的多个并发执行的进程共同使用。
    3. 虚拟:通过某种技术将一个物理实体变为若干个逻辑上的对应物,主要分为时分复用和空分复用两种技术。
    4. 异步性:由于资源等因素的限制,使进程的执行通常都不是一气呵成的,而是以走走停停的方式运行,即进程是以人们不可预知的速度向前推进的。

    ​ 其中并发和共享是多用户(任务)的两个基本特征,它们是互为存在的条件,一方面资源共享是以进程的并发执行为条件的,若系统不允许并发执行也就不存在资源共享问题,另一方面,若系统不能对资源共享实施有效管理,以协调好诸进程对共享资源的访问,也必然会影响到诸进程间的并发执行程度,甚至基本无法并发执行。

    ​ 对于虚拟的两种技术,始于信道通信,学过计算机网络的应该都知道,这里应该记住两个1/N,即时分复用每个用户(或者是虚拟设备)获得的处理速度必然小于等于物理设备速度的1/N;空分复用每个用户(虚拟设备)平均占用的空间也是小于等于物理设备所拥有的空间的1/N。

    ​ 对于异步,大家可以参考ajax中的异步请求,或者是Java编程中的线程池,单独启动的线程的执行速度无法直接的预测,这也是我们在进行并发编程是需要特别注意的。

    5.操作系统的发展过程

    ​ 此部分也是我最开始想写的东西,下面我们按照时间轴来组织OS的发展过程,使用人们对OS提出的新需求来慢慢叙说。下面的部分我不增加小标题,一个阶段使用1,2,3,4来标识。

    ​ 1.在1945年,世界上的第一台计算机ENIAC诞生了,此时,还未出现OS,对计算机的全部操作都是有用户采用人工操作的方式进行的(通过纸带将程序和数据输入到内存中)。因为是人工操作的,需要一个程序运行完成才可以再次装入另一个程序和数据,这样会存在一下两个缺点:用户独占主机CPU处理速度和人工输入速度的不匹配

    ​ 2.为了解决上述问题,20实际50年代出现了脱机I/O技术。该技术主要是采用缓冲区的概念,提前将一批作业在外围机的控制下输入到磁带上,当CPU需要这些程序和数据时,再从磁带上高度的调入内存,并执行。类似的,CPU需要输出时,直接将内存高度的将数据写入到磁带上,之后再外围机的控制下将作业的运行结果输出。
    脱机I/O方式

    3.为了进一步提高计算机中的资源利用率,可以尽量的保持系统的连续运行,开发人员在脱机I/O方式的基础上,增加了一个监督程序(Monitor),在它的控制下,是这批在外围机控制下一次输入到系统中的这批作业可以一个接着一个的连续处理。这也就形成了单道批处理系统,下图是其作业的处理流程:
    单道批处理作业处理流程

    但是单道批处理系统中,系统中的资源还是得不到充分地利用,我们看下面这张图。从图中我们可以看到,如果程序在执行的过程中多次发生I/O请求,那么程序在等着I/O完成是就会一直占用着处理机,在这个阶段内,别的程序无法执行,这就做成了t2t3,t6t7时间间隔内CPU空闲。
    单道批处理程序执行顺序

    4.为了解决单道批处理系统中存在的问题,即为了进一步提高资源利用率和系统吞吐量,在20世纪60年代中期引入了多道程序设计技术,由此形成了多道批处理系统。多道批处理系统同一时刻允许多个作业在内存中并发的执行,使他们共享CPU和系统中的各种资源。并且为了保证程序并发执行的正确性,引入了进程的概念。下图是四道批处理系统中,程序执行时的运行情况。从图中我们可以看到,在A发生I/O请求时,可以利用CPU的这段空档时间调度程序B执行,在同样的B、C、D发生I/O请求时,再去调度其他可执行的程序。
    多道批处理系统中程序执行情况

    通过这种交替的执行程序,让CPU尽量少处于空闲状态,因此其系统资源利用率高、系统吞吐量大;但是因为其作业的交替执行,因而作业的平均周转时间长,并且无人机交互能力

    ​ OS发展到多道批处理系统,系统中的资源利用率已经非常的高了,后续的OS发展主要受特定的需求或者是硬件的升级换代而推动的,这些促使着OS可以满足新的需求,并且可以利用好更强大的硬件,提高系统的性能。

    5.为了满足用户对人–机交互共享主机的需求,由此形成了一种新型的OS-----分时系统。在20世纪60年代,因为计算机还是非常昂贵的,一台计算机需要供多个用户共享使用,在每个用户使用的过程中,都是希望处理机可以快速的处理自己的请求或者是作业,希望能够独占计算机,因此分时系统是像下图一样,一个主机连接了多个显示器和键盘的终端,每个用户以时间片轮转的形式获得主机的处理资源。
    分时系统

    6.为了保证作业的开始时间和结束时间,能够及时的响应外部事件的请求在规定的时间内完成对该事件的一个处理,并控制所有实时任务协调一致的运行,出现了实时系统。实时OS要求系统高度可靠,可以保证事件的及时处理,之后又衍生出很多实时系统的类型,包括工业(武器)控制系统、信息查询系统、多媒体系统和嵌入式系统。

    ​ 7.随着VLSI(超大规模集成电路)和计算机体系结构的发展,以及应用需求的不断发展,操作系统仍然在不断的发展,并且产生了微机(微型机)操作系统、网络操作系统、多处理机操作系统,下面我们分别简单的讲一下。

    微机操作操作系统是配置在微型机上的系统,其主要目标是方便用户使用,及使用的方便性,主要可以分为单用户单任务OS,单用户多任务OS和多用户多任务OS,现在我们使用的都是多用户多任务系统,典型的就是Linux系统,一个用户登录就为之创建一个进行,一个linux服务器允许多个用户同时登录。

    网络操作系统是随着万维网的发展而形成的,要求网络OS不仅具有原有OS的单机处理功能,还需要有向网络中的其他计算机提供网络通信和网络资源共享功能,并且为网络用户提供各种网络服务。

    多处理机操作系统是指利用系统内的多个CPU并行执行用户多个程序,以提高系统的吞吐量或用来进行冗余操作以提高系统的可靠性。多处理机OS也是由于多个CPU的出现,为了能够充分地发挥他们的并行处理能力,进一步提高系统的性能而诞生的。并且因为此,传统的进程“太重”,致使进程的创建、调度、撤销会有较大的时空开销,因此OS引入了线程的概念。(本文中进程和线程中的概念可以参考我的另一篇博文—进程和线程的区别)

    ​ 下面我们来总结一下推动操作系统发展的动力:

    1. 不断提高计算机资源利用率;
    2. 方便用户使用;
    3. 器件(硬件)的不断更新换代;
    4. 计算机体系结构的不断发展;(理论推动实践)
    5. 不断提出的新的应用需求。

    ​ 对于OS来说,不断被提出的应用需求促使了分时系统、实时系统等其他的OS的产生。其实在我们的开发的过程中,需求也都是非常重要的,一个系统开发出来如果无法满足任何人的需求,那么这个系统是没有任何的生命力的,如果能创造出能迎合部分人甚至是大部分人需求的应用(这个世界人这么多,一小部分也是非常大的受众了),那么你就可以站在风口了。比如饿了么、摩拜等等。


    又到了分隔符以下,本文到此就结束了,本文内容全部都是有博主自己进行整理并结合自身的理解进行总结,如果有什么错误,还请批评指正,如果有什么疑惑也可以评论留言。

    ​ 全文4500多字,原创不易,如果对你有所帮助,还请留下个赞。

    展开全文
  • 一、操作系统的目标 操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。 目前存在...

    一、操作系统的目标

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

    目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重。通常在计算机硬件上配置的OS,其目标有以下几点:

    • 有效性(提高资源利用率;提高系统吞吐量)
    • 方便性
    • 可扩从性
    • 开放性

    二、操作系统的作用

    • OS作为用户语句计算机硬件系统之间的接口
    • OS作为计算机 系统资源的管理者
    • OS实现了对计算机资源的抽象

    操作系统就是铺设在计算机硬件上的多层软件的集合

     

    转载于:https://www.cnblogs.com/weiyalin/p/10791770.html

    展开全文
  • 操作系统作用及类别

    千次阅读 2021-02-18 21:42:42
    操作系统作用: ①直接控制各个不同的硬件进行工作。 ②将操作硬件的方法封装成系统调用,供其他成员直接访问。 操作系统的类别: 一.桌面操作系统 ①Windows: 优点:用户群体大,应用软件多。 缺点:安全性...
  • STM32实时操作系统

    千次阅读 2019-03-09 21:31:34
    1、裸机和操作系统的区别: 裸机是在一个main函数里执行的,除了有中断才会跳到其他地方,否则就会一直按照地址不断加4来执行(为什么是加4呢)。顺序的执行结构就是你可以通过代码找到相应的执行流程。 操作系统 ...
  • 操作系统作用4. 小结 操作系统 学习目标 能够知道操作系统作用 1. 常见的操作系统 Windows mac OS Linux iOS Android 2. 操作系统的定义 操作系统直接运行在计算机上的系统软件, 它是控制硬件和支持软件...
  • 操作系统的五大功能

    万次阅读 2019-01-12 19:11:58
    操作系统的五大功能: 1.处理器管理 处理器是完成运算和控制的设备。在多道程序运行时,每个程序都需要一个处理器,而一般计算机中只有一个处理器。操作系统的一个功能就是安排好处理器的使用权,也就是说,在每个...
  • 操作系统概述

    万次阅读 多人点赞 2021-09-11 15:34:51
    1.1.2 操作系统作用和组成 1.1.3 操作系统举例 1.2 操作系统的发展历史 1.2.1 推动操作系统发展的主要动力 1.2.2 手工操作 1.2.3 单道批处理系统(simple batch processing) 1.2.4 多道批处理系统...
  • 操作系统(02326)第1章:操作系统概论

    千次阅读 2021-12-01 18:52:21
    本文是我参加电子科技大学 计算机科学与技术专业 自考本科中操作系统科目的学习笔记。本文是第一章。
  • 操作系统作用主要有三个:一是方便性,一个未配置操作系统的计算机是极难使用 的,因为计算机硬件只认识 0 和 1 ,用户要想与计算机交流就必须使用机器指令,要想输 入数据或打印数据,也必须自己...
  • 操作系统基础知识复习总结

    万次阅读 多人点赞 2018-06-11 13:55:23
    操作系统作用 存储管理 处理机管理 设备管理 文件管理 用户接口 操作系统的定义 是管理和控制计算机系统中各种硬件和软件资源、合理地组织计算机工作流程的系统软件,是用户与计算机之间...
  • 为什么需要操作系统

    千次阅读 2018-03-13 10:57:39
    1 操作系统作用 对于一个程序而言,它为了保障自己的程序运行流畅,势必就会要求自己分配到的资源越多越好,但是计算机的资源总是有限的,大家都自顾自抢资源的话,要么就是大家一起跑不动,要么就是某几个程序把...
  • 操作系统的目标和作用

    千次阅读 2017-09-04 20:49:35
    1.操作系统的目标: ...2.操作系统作用: 1.OS作为用户与计算机硬件系统之间的接口。 2.OS作为计算机系统资源的管理者。 3.OS实现了对计算机资源的抽象。 3.推动操作系统 1.不断提高计算机资源的利用率。
  • 操作系统的功能、作用、分类

    万次阅读 多人点赞 2016-04-04 10:16:04
    操作系统的功能、作用以及分类
  • 操作系统基础知识详解

    万次阅读 多人点赞 2021-10-24 23:20:42
    一、操作系统概述 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。 二、操作...
  • 现代操作系统第三版高清

    千次下载 热门讨论 2015-06-16 22:20:01
    1.1 什么是操作系统? 3 1.1.1 所有延长机器的作业系统 4 1.1.2 作为一个资源管理器的作业系统 6 1.2 操作系统的历史 7 1.2.1 第一代(1945年至1955年)真空管 7 1.2.2第二代(1955年至1965年)晶体管...
  • 操作系统(OS)

    千次阅读 2022-02-26 01:00:22
    操作系统
  • 满意答案b131452000推荐于 2019.05.20采纳率:45%等级:6已帮助:304人操作系统的主要作用操作系统的主要功能是资源管理,程序控制和人机交互等。计算机系统的资源可分为设备资源和信息资源两大类。设备资源指的是...
  • 操作系统学什么?

    千次阅读 2022-03-28 16:43:48
    操作系统学习
  • Linux操作系统基础

    万次阅读 多人点赞 2018-05-27 12:16:53
    Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机 Linux介绍 Linux出现于1991年,是...
  • 什么是嵌入式操作系统

    千次阅读 2021-12-23 14:16:52
    嵌入式操作系统是一种专门的操作系统( OS ),旨在为非计算机的设备执行特定任务。嵌入式操作系统的主要工作是运行允许设备完成其工作的代码。嵌入式操作系统还使运行在操作系统之上的软件可以访问设备的硬件。 ...
  • 手把手教你制作一个操作系统

    千次阅读 2021-03-02 21:56:51
    笔者目前大二,学过C++,汇编,操作系统,正在学习编译原理和计算机网络,打算做一个小的操作系统来巩固知识,加深对计算机的理解。 参考资料 目前正在学习《自己动手写操作系统》,资源参考一下博客: 自己动手写...
  • 操作系统原理

    万次阅读 多人点赞 2019-09-07 19:20:17
    目录 目录 ... 操作系统原理1 —— 概念 >> 操作系统原理2——OS结构 >> 操作系统原理3——多道程序 >> 操作系统原理4——存储管理 >> 操作系统原理5——文件管理 ...
  • 浅谈Linux操作系统基础知识

    万次阅读 多人点赞 2022-05-27 21:20:19
    Linux操作系统认知 1.1操作系统(英文名简称为OS) 定义:操作系统是用户与计算机硬件之间的界面,是控制、管理计算机系统内各种硬件和软件资源,有效地组织多种程序运行的程序集合。从下面插图可以看出操作系统是...
  • 常见的操作系统有哪些?

    万次阅读 多人点赞 2019-12-26 19:33:42
    一、常见的操作系统有哪些? 1、Windows操作系统 应用比较广泛。 2、Linux操作系统 免费使用,类UNIX 3、Unix操作系统 无界面,使用命令操作,一般安装在服务器上面。 4、Mac操作系统 苹果公司开发的,一般...
  • 本文是我参加电子科技大学 计算机科学与技术专业 自考本科中操作系统科目的学习笔记。本文是第二章。
  • 学习操作系统心得体会

    千次阅读 2019-12-16 23:00:47
    学习操作系统心得体会 很快的,一个学期的《操作系统》课程就要结束了,在这个学期,通过老师的传授和课本以及课下的阅读学习,让我对计算机操作系统的一些实现原理和简单的操作过程有了基本的了解。 在学习操作系统...
  • 操作系统-操作系统简介

    千次阅读 多人点赞 2019-03-19 11:40:40
    一.操作系统简介: 1.1.0 什么是操作系统 操作系统的定义 Q1:操作系统是软件还是硬件? Q2:操作系统是必要软件...操作系统与硬件部分相互作用,并且为运行在计算机上的应用程序提供执行环境。 1.1.2 资源的管理...
  • 为了便于系统控制和描述进程的活动过程,在操作系统核心中定义了一个专门的数据结构,称为进程控制块( Process Control block,PCB)。 操作系统利用PCB来描述进程的基本情况以及进程的运行变化过程。PCB是进程存在的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,809,947
精华内容 723,978
关键字:

操作系统的作用