📌  相关文章
📜  AKTU 1st Year Sem 1 Solved Paper 2014-15 | COMP。系统和C编程|秒

📅  最后修改于: 2021-05-19 19:51:40             🧑  作者: Mango

论文下载链接:论文|学期1 | 2014-15

时间: 3小时
总分数:100

注意:-

  • 尝试所有问题。每个问题都带有标记。
  • 必要时假定合适的数据。

    1.尝试任意四个零件:(5 * 4 = 20)

    1. 电脑的分类是什么?详细说明任何两个。可以根据以下分类对计算机系统进行分类:

      1.基于大小。
      2.基于功能。
      3.在数据处理的基础上。

      根据大小分类

      1. 超级计算机:超级计算机是性能最高的系统。超级计算机是与通用计算机相比性能较高的计算机。超级计算机的实际性能是以FLOPS代替MIPS来衡量的。世界上最快的500台超级计算机都运行基于Linux的操作系统。正在中国,美国,欧盟,台湾和日本进行其他研究,以构建更快,更高性能和技术更先进的超级计算机。超级计算机实际上在计算领域中起着重要作用,并被用于各种领域的密集计算任务,包括量子力学,天气预报,气候研究,油气勘探,分子建模和物理模拟。在整个历史中,超级计算机在密码分析领域也至关重要。
        例如:PARAM,Jaguar,Roadrunner。
      2. 大型计算机:大型计算机通常被称为大型计算机,大型组织通常将其用于批量数据处理,例如静态,普查数据处理,事务处理,并且由于与这些系统相比具有更高的处理能力,因此被广泛用作服务器。在其他类别的计算机中,这些大型机体系结构中的大多数是在1960年代建立的,多年来研究和开发工作一直在不断进行,今天的大型机在大小,容量和效率方面都比早期的大型机好得多。
        例如:IBM z系列,System z9和System z10服务器。
      3. 小型计算机:这些计算机于1960年代中期投入市场,并且以比主机便宜的价格出售,它们实际上是为控制,仪表,人机交互和通信交换而设计的,与计算和记录保存不同,后来随着进化,它在个人用途中变得非常流行。
        在60年代,人们开始描述使用晶体管和核心存储技术而成为可能的小型计算机,最少的指令集和较便宜的外围设备,例如无所不在的Teletype Model 33 ASR。他们通常会占用一个或几英寸的机架式机柜,而相比之下,大型的大型主机可能会占据一个房间,因此创造了一个新名词“ MINICOMPUTERS”(MINICOMPUTERS)
        例如:个人笔记本电脑,PC等
      4. 微型计算机:微型计算机是一种相对便宜的小型计算机,以微处理器作为其CPU。它包括一个微处理器,内存和安装在单个印刷电路板上的最少I / O电路。这些计算机(大型机和小型计算机)的前身相对较大,难以维护且价格昂贵。它们实际上构成了我们在日常生活中使用的当今微型计算机和智能小工具的基础。
        例如:平板电脑,Smartwatches。

      基于功能的分类

      1. 服务器:服务器不过是专用计算机,这些计算机被设置为向客户端提供一些服务。它们的名称取决于所提供的服务类型。例如:安全服务器,数据库服务器。
      2. 工作站:这些计算机主要设计为一次只能由一个用户使用。他们运行多用户操作系统。它们是我们日常个人/商业工作中使用的工具。
      3. 信息设备:它们是便携式设备,旨在执行一组有限的任务,例如基本计算,播放多媒体,浏览Internet等。它们通常称为移动设备。它们的内存和灵活性非常有限,通常按“原样”运行。
      4. 嵌入式计算机:它们是在其他计算机中使用的计算设备,可满足一组有限的要求。它们遵循非易失性存储器中的指令,并且不需要执行重新引导或重置。这种设备中使用的处理单元仅能满足那些基本要求,并且不同于个人计算机中使用的处理单元(通常称为工作站)。

      根据数据处理进行分类

      1. 模拟:模拟计算机是一种计算机形式,它使用物理事实(例如电量,机械量或液压量)的不断变化的方面来对要解决的问题进行建模。随时间变化和连续变化的任何东西都可以被称为模拟,就像模拟时钟通过围绕圆形刻度盘的时钟辐条所行进的距离来测量时间一样。
      2. 数字计算机:一种计算机,它以数字表示的数量执行计算和逻辑运算,通常在二进制数字系统“ 0”和“ 1”中,“能够通过处理以离散形式表示的信息来解决问题的计算机。通过操纵二进制数字的组合,它可以执行数学计算,组织和分析数据,控制工业和其他过程,以及模拟动态系统(例如全球天气模式)。
      3. 混合型:处理模拟和数字数据的计算机,混合型计算机是接收模拟信号,将其转换为数字并以数字形式处理的数字计算机。
    2. 描述操作系统的功能。计算机系统的基本目标是执行用户程序并简化任务。各种应用程序以及硬件系统均用于执行此工作。操作系统是一种软件,可以管理和控制整个资源集,并有效利用计算机的每个部分。

      该图显示了OS如何充当硬件单元和应用程序之间的媒介。

      操作系统功能

      操作系统具有多种要执行的功能。操作系统的一些重要功能可以概括为:

      • 处理器管理:这涉及中央处理器(CPU)的管理。操作系统负责将CPU时间分配给不同的进程。当在指定的时间段内执行完某个进程后,该进程完成其CPU处理时,这称为调度。
      • 设备管理:
        操作系统与硬件和连接的设备进行通信,并在它们与CPU之间保持平衡。这一点更加重要,因为CPU处理速度远高于CPU处理速度。
        I / O设备。为了优化CPU时间,操作系统采用了两种技术-缓冲和假脱机。
      • 缓冲:
        在这种技术中,输入和输出数据被临时存储在输入缓冲区和输出缓冲区中。一旦用于输入或输出的信号分别发送到CPU或从CPU发送,操作系统将通过设备控制器将数据从输入设备移至输入缓冲区,并从输出设备移至输出缓冲区。在输入的情况下,如果缓冲区已满,则操作系统将信号发送到程序,该程序处理缓冲区中存储的数据。当缓冲区变空时,程序通知操作系统重新加载缓冲区,然后输入操作继续。
      • 假脱机(在线同时外围设备操作):
        这是一种用于在同一输入/输出设备上处理不同任务的设备管理技术。当网络上有多个用户共享同一资源时,可能有多个用户在同一时间向其发出命令。因此,操作系统将每个用户的数据临时存储在资源附加到的计算机的硬盘上。单个用户无需等待执行过程完成。而是,操作系统将数据从硬盘一一发送到资源。
        示例:打印机
      • 内存管理:
        在计算机中,CPU和I / O设备都与内存交互。当需要执行程序时,它将程序加载到主存储器中,直到执行完成为止。此后,该存储空间将被释放并可用于其他程序。操作系统使用的常见内存管理技术是分区和虚拟内存。
      • 分区:
        总内存分为相同大小或不同大小的各种分区。这有助于在内存中容纳许多程序。该分区可以是固定的,即对于内存中的所有程序都保持不变,也可以是可变的,即,当程序加载到内存时分配内存。后面的方法会减少内存浪费,但是在适当的时间段内,它可能会变得碎片化。
      • 虚拟内存:
        这是操作系统使用的一种技术,它允许用户加载大于计算机主内存的程序。在这种技术中,即使无法将完整的程序加载到主存储器中,也会导致程序的执行,从而提高了存储器的利用率。
      • 文件管理:
        操作系统管理计算机上的文件,文件夹和目录系统。计算机上的任何数据均以文件形式存储,并且操作系统使用文件分配表(FAT)保留所有数据的信息。 FAT存储有关文件的一般信息,例如文件名,类型(文本或二进制),大小,起始地址和访问模式(顺序/索引顺序/直接/相对)。操作系统的文件管理器有助于创建,编辑,复制,分配内存到文件,还可以更新FAT。操作系统还注意以适当的访问权限打开文件以读取或编辑它们。
    3. 将十六进制数A9C5.DB4 16转换为八进制数(A9C5.DB4) 16
      =(1 010 100 111 000 101.110 110 110 100) 2
      =(124705.6664) 8
    4. (d)绘制流程图以查找给定数字的和。

    5. 讨论编译器,链接器和加载器的各种功能。编译器–
      一口气读取全部以高级语言编写的完整源程序并将其翻译成机器语言的等效程序的语言处理器称为编译器。
      示例: C,C++,C#, Java

      在编译器中,如果没有错误,则源代码将成功转换为目标代码。当源代码中有任何错误时,编译器会在编译结束时用行号指定错误。必须清除这些错误,然后编译器才能再次成功重新编译源代码。

      链接器是系统中的一个程序,有助于将程序的目标模块链接到单个目标文件中。它执行链接过程。链接器也称为链接编辑器。链接是将一段代码和数据收集并维护到一个文件中的过程。链接器还将特定模块链接到系统库中。它将来自汇编器的对象模块作为输入,并将来自可执行文件的对象模块作为装入程序的输出。

      在将源代码转换为机器代码时的编译时和在由加载程序将程序加载到内存中的加载时都执行链接。链接是在编译程序的最后一步执行的。

      加载程序操作系统的程序,它将可执行文件从磁盘加载到主内存(RAM)中以供执行。它将内存空间分配给主内存中的可执行模块,然后将控制权转移到程序的开始指令。

    6. 什么是存储类?用简洁的语法描述自动,注册,静态和外部。存储类用于描述变量/函数。这些功能基本上包括范围,可见性和生存期,可帮助我们在程序运行时跟踪特定变量的存在。

      C语言使用4个存储类,即:

      1. auto :这是在函数或块内声明的所有变量的默认存储类。因此,用C语言编写程序时很少使用关键字auto。自动变量只能在已声明的块/函数访问,而不能在其外部(定义其范围)访问。当然,可以在声明了auto变量的父块/函数中的嵌套块中访问这些变量。但是,也可以使用此处给出的指针的概念,通过指向变量所驻留的非常确切的内存位置来访问它们。在声明它们时,默认情况下会为它们分配一个垃圾值。
      2. extern :extern存储类仅告诉我们该变量是在其他位置定义的,而不是在使用该变量的同一块中定义的。基本上,该值是在另一个块中分配给它的,也可以在另一个块中对其进行覆盖/更改。因此,extern变量不过是一个全局变量,该变量在声明有合法值的情况下进行了初始化,以便在其他地方使用。可以在任何函数/块中访问它。同样,也可以通过在任何函数/块的声明/定义之前将“ extern”关键字放置在普通全局变量中,将其设置为外部变量。这基本上表示我们不是在初始化新变量,而是仅在使用/访问全局变量。使用外部变量的主要目的是可以在大型程序的两个不同文件之间访问它们。有关外部变量如何工作的更多信息,请查看此链接。
      3. static :此存储类用于声明静态变量,这些静态变量在用C语言编写程序时经常使用。静态变量具有保留其值的属性,即使它们超出其范围也是如此!因此,静态变量在其范围内保留了其最后一次使用的值。因此,我们可以说它们仅被初始化一次,并且一直存在到程序终止为止。因此,没有分配新的内存,因为它们没有被重新声明。它们的范围对于定义它们的函数是局部的。全局静态变量可以在程序中的任何位置访问。默认情况下,编译器将它们分配为值0。
      4. register :此存储类声明与自动变量具有相同功能的寄存器变量。唯一的区别是,如果有可用寄存器,则编译器将尝试将这些变量存储在微处理器的寄存器中。这使得寄存器变量的使用比程序运行期间存储在存储器中的变量的使用要快得多。如果没有可用的寄存器,则将它们仅存储在存储器中。通常,使用register关键字声明很少在程序中经常访问的变量,这可以缩短程序的运行时间。这里要注意的重要和有趣的一点是,我们无法使用指针获取寄存器变量的地址。

      要为变量指定存储类,应遵循以下语法:

      句法:

      storage_class var_data_type var_name;