精华内容
下载资源
问答
  • 操作系统的主要功能

    2020-07-13 00:53:30
    引入OS的主要目的是: 为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行 能最大程度地提高系统中各种资源的利用率 方便用户使用 基本功能: 处理机管理 存储器管理 设备管理 文件...

    引入OS的主要目的是:

    1. 为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行
    2. 能最大程度地提高系统中各种资源的利用率
    3. 方便用户使用

    基本功能:

    1. 处理机管理
    2. 存储器管理
    3. 设备管理
    4. 文件管理

    为了方便用户使用OS,还需向用户提供方便的用户接口。

    1. 处理机管理

    主要功能:

    1. 创建和撤销进程
    2. 对进程进行协调
    3. 实现进程之间的信息交换
    4. 按照一定算法把处理机分配给进程

    进程控制
    多道程序环境下,作业并发执行 ----- 必须为每道作业创建一个或多个进程,并为之分配资源

    当进程运行结束时 ---- 立即撤销该进程 ---- 以便及时回收该进程所占用的各类资源,供其它进程使用

    进程控制的主要功能: 为作业创建进程撤销已结束的进程, 以及控制进程在运行过程中的状态转换

    进程同步
    进程同步的主要任务是对多个进程(含线程)的运行进行协调 ----- 使多个进程能有条不絮地运行

    常用的协调方式有两种:

    1. 进程互斥方式 ---- 对临界资源访问时,应采用互斥方式 ----- 每一个临界资源配置一把锁W
    2. 进程同步方式 ---- 在相互合作去完成共同任务的诸进程间,由同步机构对它们的执行次序加以协调 ---- 信号量机制

    进程通信
    当有一组相互合作的进程去完成一个共同任务时,在它们之间往往需要交换信息。

    进程通信的任务是实现相互合作的进程之间的信息交换。

    当相互合作的进程处于同一计算机系统时,通常在它们之间采用直接通信方式,即由源进程利用发送命令直接将信息挂到目标进程的消息队列上,以后由目标进程利用接收命令从其消息队列中取出信息。

    调度
    调度包括作业调度进程调度两步。

    作业调度: 后备队列 ----- 一定算法 ----- 选择若干个作业 ----- 分配运行所需资源 ----- 调入内存 ---- 建立进程 ---- 使成为就绪进程并插入就绪队列

    进程调度: 进程就绪队列 ---- 一定算法 ---- 选一个进程 ----- 分配处理机 ---- 设置运行现场,投入执行

    2. 存储器管理

    主要任务:

    1. 为多道程序的运行提供良好环境
    2. 提高存储器利用率
    3. 方便用户使用
    4. 逻辑上扩充内存

    主要功能:

    1. 内存分配与回收
    2. 内存保护
    3. 地址映射
    4. 内存扩充

    1. 内存分配
    主要任务:
    1) 为每道程序分配内存空间,使其各得其所
    2) 提高存储器利用率,尽量减少不可用的内存空间(碎片)
    3) 允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。

    实现内存分配时,有两种方式:
    1) 静态分配方式。 每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”

    2) 动态分配方式。 每个作业要求的基本内存空间虽然也是在装入时确定,但允许作业在运行过程中继续申请新的附加内存空间,以适应程序和数据的动态增长,也允许作业在内存中“移动”

    内存保护
    主要任务:
    1) 确保每道用户程序都仅在自己的内存空间内运行,彼此互不干扰
    2) 绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其他用户程序中去执行

    为确保每道程序都只在自己的内存区中运行 ---- 设置内存保护机制
    一种比较简单的内存保护机制是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。
    在程序运行时,系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止程序的执行。

    地址映射
    在多道程序环境下,每道程序经编译和链接后所形成的可装入程序其地址都是从开始的(逻辑地址),各程序的地址空间的逻辑地址与其在内存空间中的物理地址并不相一致。

    地址映射:将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址(在硬件的支持下完成)

    内存扩充
    借助虚拟存储技术,从逻辑上扩充内存容量。

    为实现扩充,系统必须设置内存扩充机制(包含少量硬件),实现下述功能:
    1) 请求调入功能,系统允许在仅装入部分用户程序和数据的情况下,便能启动该程序运行。在程序运行过程中,若发现要继续运行时所需的程序和数据尚未装入内存,可向OS发出请求,由OS从磁盘中将所需部分调入内存。

    2)置换功能,若发现在内存中已无足够的空间来装入需要调入的程序和数据时,系统应能将内存的一部分暂时不用的程序和数据调至硬盘上,以腾出内存空间,然后将所需部分装入内存。

    3. 设备管理

    主要任务:
    1)完成用户进程提出的I/O请求,为用户进程分配所需的I/O设备,并完成指定的I/O操作
    2)提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。

    为实现上述任务,设备管理应具有缓冲管理、设备分配、设备处理、虚拟设备等功能。

    缓冲管理
    在I/O设备和CPU之间引入缓冲,则可效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU利用率,进而提高系统吞吐量。因此在现代OS中,无一例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的方法来改善系统的性能。

    不同的系统可采用不同的缓冲区机制。常见的缓冲区机制有:单缓冲机制、能实现双向同时传送数据的双缓冲机制、能供多个设备同时使用的公用缓冲池机制。
    上述这些缓冲区都由OS缓冲管理机制将它们管理起来。

    设备分配
    基本任务: 根据用户进程的I/O请求、系统现有资源情况、按照某种设备分配策略,为之分配其所需的设备。如果在I/O设备和CPU之间还存在着设备控制器和I/O通道,则还需为分配的设备分配相应的控制器和通道。

    为实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器等的标识符和状态

    这些表格 ----- 了解 ----- 设备当前是否可用、是否忙碌

    在进行设备分配时,应针对不用的设备类型而采用不同的设备分配方式。
    对于独占设备的分配还应考虑到该设备被分配出去后系统是否安全,设备使用完成后,应立即由系统回收。

    设备处理
    设备处理程序又称为设备驱动程序。

    基本任务:
    用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之,由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。

    处理过程:
    首先检验I/O请求的和合法性,了解设备状态是否是空闲的,读取有关的传递参数及设置设备的工作方式 ------> 然后向设备控制器发送I/O命令,要求它完成指定的I/O操作

    此外设备驱动程序还应能及时响应由控制器发来的中断请求,并根据该中断请求的类型,调用相应的中断处理程序进行处理。

    4. 文件管理

    主要任务:
    1)对用户文件和系统文件进行管理以方便用户使用
    2)保证文件的安全性

    为此文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理、文件的共享和保护等功能。

    文件存储空间的管理
    主要任务:
    为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的读、取速度。

    为此,系统中应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考。还应具有对存储空间进行分配和回收功能。

    目录管理
    主要任务:
    1)为每一个文件建立一个目录项。目录项包括文件名、文件属性、文件在磁盘上的物理位置等
    2)对众多的目录项加以有效的组织,以实现方便的按名存取。
    3)实现文件共享,这样就只需在外存上保留一份该共享文件的副本
    4)提供快速的目录查询手段,以提高对文件检索的速度

    文件的读/写管理和保护
    1)文件的读/写管理
    该功能是根据用户的需求,从外村中读取数据,或将数据写入外存。

    在进行读写时
    先根据用户给出的文件名去检索文件目录,从中获得文件在外存的位置 --------- 利用文件读/写指针,对文件进行读/写 ----- 一旦读写完成,便修改读/写指针,为下一次读/写做好准备
    由于读写操作不会同时进行,故可合用一个读/写指针。

    2)文件保护
    为了防止系统中的文件被非法窃取和破坏,在文件系统中必须提供有效的存取控制功能,以实现以下目标:

    1. 防止未经核准的用户存取文件
    2. 防止冒名顶替存取文件
    3. 防止以不正确的方式使用文件

    操作系统和用户之间的接口

    两大类:

    1. 用户接口
    为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口。用户可通过该接口向作业发出命令以控制作业的运行。
    分为三种:
    1)联机用户接口
    联机用户 ---- 由一组键盘操作命令、命令解释程序组成
    用户在终端或控制台键入一条命令 ----> 系统转入命令解释程序,对命令加以解释执行

    2)脱机用户接口
    批处理作业的用户
    用户用作业控制语言JCL把需要对作业进行的控制和干预的命令事先写在作业说明书上,然后将它与作业一起提供给系统。

    3)图形用户接口
    采用了图形化的操作界面 ---- 图标、菜单
    不需要像联机用户接口那样要熟记所有命令及其格式和参数

    程序接口
    程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。

    由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序。

    每当应用程序要求OS提供某种服务时,便调用具有相应功能的系统调用。

    现代操作系统的新功能

    增加了面向安全、面向网络、面向多媒体等功能。

    系统安全
    1)认证技术。 确认被认证对象是否名副其实
    2)密码技术。 存储和传输的数据进行加密
    3)访问控制技术。 1.用户存取权限的设置 2.文件属性的设置
    4)反病毒技术。

    网络的功能和服务
    1)网络通信。 源主机和目标主机之间实现无差错的数据传输
    2)资源管理。 对网络上的共享资源有效管理,协调用户使用,保证数据一致和安全
    3)应用互操作

    支持多媒体
    1)接纳控制功能
    2)实时调度
    3)多媒体文件的存储

    展开全文
  • 按名称存取是文件系统存在一个主要目的 是一个软件,对磁盘上存在二进制进行管理 为了能在一个磁盘上安装多个系统,引入了分区概念 track:磁道是有厂商划分好 sector:扇区 固定角速度设备 任意...

    按名称存取是文件系统存在的一个主要目的
    是一个软件,对磁盘上存在的二进制进行管理
    为了能在一个磁盘上安装多个系统,引入了分区的概念

    track:磁道是有厂商划分好的
    sector:扇区
    

    固定角速度的设备
    任意磁盘上的任意扇区,读取的平均时间称为平均寻道时间
    柱面:
    分区:

    第0个扇区存放的是磁盘的分区信息,

    MBR:Master Boot Record 主引导记录
    512byte:
    bootloader:记载器,446bytes
    每16个字节引导一个分区,
    2个字节被填充了2个5A,MBR有效性标记
    

    4个主分区
    扩展分区,引用其他额外的分区表
    逻辑分区
    GPT:大于2TB使用的技术
    硬盘:存放位置 /dev

    硬盘接口:

      IDE(ATA):并口,每个控制器可接两个硬盘,master/slave,133MB/S
    /dev/hd[a-z]
      /dev//hda[1-4]
      逻辑分区5开始
      /dev/hda[5+]
    

    SCSI:Small Computer System Interface 小型计算机接口
    320mb/s
    SATA(Serial):300Mbps,600Mbps,6Gbps
    SAS:6Gbps

    DMA:Direct Memory Access

    fdisk sfdisk parted

    VFS:
    文件系统:

     基本文件系统:Ext3,Ext3,Ext4,Reiserfs,xfs(支持单个巨大的文件),JFS,vfat,NTFS
     交换分区:swap
     集群文件系统:GFS2,OCFS2
     网络文件系统:NFS,smbfs(window是CIFS)
     光盘:iso9660
    
    raw:
    

    fdisk

    d 删除分区
    n:新建一个分区
    p:列出已有分区
    t:调至分区ID
    l:列出内核支持的分区id
    w:保存退出
    q:不保存退出 
    m:帮助
    

    Centos5:partprobe
    Centos6:partx kpartx
    kpartx -l /dev/sda
    kpartx -af /dev/sda
    partx -a /dev/sda
    mkfs:用来格式化

      -t 文件系统 :指定文件系统以后来格式化分区
    

    mke2fs -t

    Ext4:mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
    Ext3(日志文件系统):mkfs -t ext3 = mkfs.ext3 = mke2fs -t ext3 = mke2fs -j

    mke2fs:(格式化)
    配置文件:/etc/mke2fs.conf

    -t:指定文件类型
    -j:
    -L label: 指定卷标,
    -b{1024|2028|4096}:指定块大小默认4096
    -i # :#个字节给指定一个indone
    -N # : 直接指定预留多少个indone
    -I # : 指定Inode大小
    -m # :预留给管理员的空间百分比,默认为5
    -O :指定分区特性
    

    e2label /dev/SOMEDEVICE 查看卷标,
    e2label /dev/SOMEDEVICE Label 直接更改卷标

    blkid 查看UUID和TYPE

    dumpe2fs 查看超级块和是否有碎片

      -h:仅显示超级块中保存的信息
    

    tune2fs:调整mke2fs的信息

      -l:查看超级块中的信息
      -L: 设定卷标
      -m:预留管理员的空间百分比
      -j:如果原来的文件系统为ext2,-j能够将其提升为ext3
      -o:[^]mount-options[,...] 指定默认挂载选项
      -O:[^]feature[,...] 调整分区特性 加^表示关闭
    

    tune2fs -o 挂载选项 设备
    tune2fs -o ^设备选项 取消

    fsck:文件系统检测

      -t: 文件类型 设备
      -a: 自动修复错误
      -r: 交互式修复错误
    

    e2fsck:

    -f: 强制前侧
    -y: 对问题自动回答为yes
    

    交换分区:
    虚拟内存:把内存中不用的数据放在磁盘上的一个位置,这个位置叫做交换分区,该分区的和内存用同样的文件系统

    mkswap 
        -L label
    swapon:启用交换分区
        -a:打开所有
        -p #:指定优先级      
    swapoff
        -a
    

    总结:fdisk,mke2fs ,mkfs, blkid,e2lable,dumpe2fs,tune2fs,fsck,e2fsck,mkswap,swapon,swapoff

    分区:fdisk
    格式化:创建文件系统

    获取IDE磁盘的相关信息
    haparm

    -i 从操作系统读取
    -I 直接从硬盘读取
    -g 显示硬盘的布局信息
    -t 测试硬盘的性能
    -T 测试硬盘的性能
    

    /proc/partitions
    /proc/meminfo
    /proc/filesystems 内核能识别的文件系统类型

    挂载:

    手动挂载
    按需挂载
    开机自动挂载 
    

    mount [options] [-t fstype ] [-o option] 设备 挂载点

    [option]:命令的特性
    [-t fstype ]:指定文件系统,不指定就用默认
    -o options:挂载时启用分区特性,不指定就用默认
    不带任何选项可显示当前挂载信息,来读一以下文件类似
    /proc/mounts , /etc/matb
    

    常用选项:

       -t: fstype
       -r: 只读挂载
       -w:读写挂载
       -L: lable 以卷标指定,也可以使用LABLE="lable"
       -U: UUID:使用UUID挂载,也可以使用 UUID="uuid"
    

    -o options

    async:异步I/O
    sunc:同步I/O
    noatime/atime:是否更新时间戳
    auto: 是否能够被mount -a 自动挂载所有(/etc/fstab中)的文件自动挂载
    dev/nodev:是否能创建设备文件
    diratime/nodirtime:是否更新目录的时间戳
    exec/noexec:是否允许执行二进制程序
    _netdev:网络设备,网络未准备好,就不一直挂载
    remount:重新挂载
    relatime/norelatime 是否实时更新
    acl:启用facl(文件访问控制列表)
    ro:只读
    rw:读写
    

    #tune2fs -o mount-option 设备
    #tune2fs -o ^mount-option取消
    例如:

         tune2fs  -o  acl  
         tune2fs  -o ^acl  
    

    光盘:

     /dev/cdrom /dev/dvdrom /dev/sr0
     [-t iso9660]
    

    挂载点,原始数据将会暂时隐藏
    1. 选项放空闲路径
    2. 事先的存在

    卸载:
    1.空闲时可以被卸载

    查看占有挂载的设备的进程

     fuser -v  挂载点 查看当前在使用该挂载点的用户
     fuser -km 挂载点 强制剔除使用的用户
    

    umount 设备|挂载点

    df:磁盘空间的使用状态
    df [OPTION]… [FILE]…

       -h:显示易读的信息
       -i:显示indoen
       -P:全部显示
    

    du: 查看文件占用磁盘的大小

    -s:显示文件大小之和
    -h: 易读的
    

    开机自动挂载
    /etc/rc.d/rc.sysinit:系统初始化脚本
    在这脚本中有一段是:挂载/etc/fstab文件中定义的文件系统挂载表

    #
    # /etc/fstab
    # Created by anaconda on Tue Aug 21 13:24:56 2018
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=14be1fcf-c506-4366-a019-9dda9deb9d95 /                       ext4    defaults        1 1
    UUID=fe4d1685-cb59-4ceb-bce2-58b2888b9d7e /boot                   ext4    defaults        1 2
    UUID=80a74dbd-eb95-42b0-a619-a8a952e426b3 swap                    swap    defaults        0 0
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    

    各自段的含义
    1.要挂载的设备:设备文件,LANG=,UUID:
    2.挂载点:swap没有挂载点,挂载点为swap
    3.文件系统类型
    4.挂载选项:多个选项间使用逗号分割
    5.转储频率 :0:从不备份,1;每日备份,2,两日备份
    6.自检次序 1:首先自检,通常为根使用 0:从不自检
    mount -a 会挂载这个目录未被挂载的设备

    交换分区:
    Linux使用内存机制:/proc/sys/vm/swapiness
    能不用就不用,会降低性能
    大小:物理内存2G到4G = 4G
    物理内存小于2G = 2*物理内存
    物理内存大于8G = 4G

    查看内存空间使用状态
    1.cat /proc/meminfo
    2.free

    free:
        -m: 显示M为单位
        -g:显示为G为单位
    

    把文件当磁盘来用,这样的文件Linux叫本地回环设备
    dd命令:类似cp命令的功能本质不同(cp会调用文件系统VFS,先把内存中的数据读出来,然后在磁盘上创建一个新的文件,在数据存进去。而dd是绕过文件系统,直接把文件,复制到新的文件重)
    dd if=input_file of=output_file
    dd if=input_file of=output_file bs=#[b|k|m|g] count=#
    cat /dev/cdrom > /tmp/linux.iso 制作光
    备份mba:
    dd if=/dev/sda of=/dev/myfile bs=512 count=1
    dev/zero 一直向外吐0
    dev/null 一直接受数据
    dd if=/dev/zero of=/dev/sda bs=400 count=1会破坏bootloder
    dd if=/dev/zero of=/dev/sda bs=500 count=1会破坏bootloder 和 分区信息

    [root@localhost 4.4.4]# dd if=/etc/issue of=/etc/issue.net 
    0+1 records in
    0+1 records out
    47 bytes (47 B) copied, 0.000704286 s, 66.7 kB/s
    [root@localhost 4.4.4]# cat /etc/issue
    CentOS release 6.5 (Final)
    Kernel \r on an \m
    [root@localhost 4.4.4]# cat /etc/issue.net 
    CentOS release 6.5 (Final)
    Kernel \r on an \
    

    总结:mount , umount , fuser, free, du, df. dd

    文件链接
    ln 源文件 目标文件

    硬链接:
         不能跨分区,
     指向同一个indone的两个位置
         不能对目录创建硬链接
     硬链接会改变文件被链接的次数
    符号链接:
        ln -s 
     符号链接可以跨分区
     符号链接文件跟源文件不同一个inode
     可以对目录创建符号链接
     符号链接不会改变源文件被链接的次数
    

    压缩工具:
    1. gzip,gunzip=gzip -d, zcat查看压缩文件内容
    后缀:.gz
    -c:将压缩结果送到标准是输出,可以使用重定向将其保存为压缩文件‘

    2.bzip2, bunzip=bzip2 -d,bzcat 查看压缩文件内容
    -k 压缩后保留原文件

    3.xz,unxz = xz-d xzcat 查看压缩文件内容
    后缀 .xz
    4.zip unzip 可以压缩目录
    -#:指定到1-9

    归档工具:
    tar [option] -f file.tar file ….

    -f:指定文件
    -c:创建归档
    -x:展开归档
    -t:不展开而直接查看被归档文件
    -v:显示信息过程
    
    -z:调用gzip  -zcf  -zxf
    -j:调用bzip2  -jcf  -jxf
    -J:调用xz    -Jcf  -Jxf
    
    展开全文
  • 乐鑫科技 2020 届秋招-软件类真题

    千次阅读 2020-01-21 23:36:02
    1. 从用户的角度看,引入文件系统的主要目的是 (D) A. 实现虚拟存储 B. 保存用户和系统文档 C. 保存系统文档 D. 实现对文件的按名存取 解析: 文件系统最基本的目标是按名存取,它主要是通过目录管理功能实现的。...
    1. 从用户的角度看,引入文件系统的主要目的是 (D

    A. 实现虚拟存储
    B. 保存用户和系统文档
    C. 保存系统文档
    D. 实现对文件的按名存取

    解析:
    文件系统最基本的目标是按名存取,它主要是通过目录管理功能实现的。文
    件系统所追求的最重要的目标是提高对文件的存取速度

    2. 要求在规定的时间内对外界的请求必须给予及时相应的OS是 (B

    A. 多用户分时系统
    B. 实时系统
    C. 批处理系统时间
    D. 网络操作系统

    解析:

    • 多道批处理系统:资源利用率高,系统吞吐量大;
    • 分时系统:相应快,界面友好,多用户便于普及,便于资源共享;
    • 实时系统:相应时间严格,可靠性更高;
    • 个人机系统:其中多用户的操作系统代表是UNIX功能强大,多用户使用,通信能力强;
    • 网络操作系统:网络操作系统是服务于计算机网络,按照网络体系结构的各种协议来完成网络的通信、资源共享、网络管理和安全管理的系统软件。
    • 分布式操作系统:分布式操作系统是建立在网络操作系统之上,对用户屏蔽了系统资源的分布而形成的一个逻辑整体系统的操作系统。
    3. 通常所说的”存储保护”的基本含义是 (C

    A. 防止存储器硬件受损
    B. 防止程序在内存丢失
    C. 防止程序间相互越界访问
    D. 防止程序被人偷看

    解析:
    存储区域保护主要是为了防止地址越界。常用的存储区域保护方式有基于页表或段表的保护,键保护和环保护。

    4. 外存上存放的数据(D

    A. CPU可直接访问
    B. CPU不可访问
    C. 是高速缓冲器中的信息
    D. 必须在访问前先装入内存

    解析:
    内存条又称“主存储器”,它的作用是暂时存储计算机运行时的数据,中央处理器能够直接访问内存,而外存的数据是中央处理器无法直接访问的。内存条直接插在主机板上,软盘、U盘、硬盘、光盘、存储卡等等存储器都称为“外部存储器”,一个磁盘上的文件如果需要被中央处理器访问,先要从磁盘中调入内存。

    5. 以太网媒体访问控制技术CSMA/CD的机制是(A

    A. 争用带宽
    B. 预约带宽
    C. 循环使用带宽
    D. 按优先级分配带宽

    解析:
    (1)CSMA/CD介质访问控制方法算法简单,易于实现。有多种VLSI可以实现CSMA/CD方法,这对降低Ethernet成本、扩大应用范围是非常有利的。
    (2)CSMA/CD是一种用户访问总线时间不确定的随机竞争总线的方法,适用于办公自动化等对数据传输实时性要求不严格的应用环境。
    (3)CSMA/CD在网络通信负荷较低时表现出较好的吞吐率与延迟特性。但是,当网络通信负荷增大时,由于冲突增多,网络吞吐率下降、传输延迟增加,因此,CSMA/CD方法一般用于通信负荷较轻的应用环境中。

    6. 路由选择协议位于(C

    A. 物理层
    B. 数据链路层
    C. 网络层
    D. 应用层

    解析:
    路由选择协议(RIP/OSPF)

    7. 在internet的基本服务功能中,远程登录所使用的命令是(B

    A. ftp
    B. telnet
    C. mail
    D. open

    ftp 文件传输
    mail 邮件

    8. IP协议是无连接的,其信息传输方式是(B

    A. 点对点
    B. 数据报
    C. 广播
    D. 虚电路

    解析:
    IP数据报百度百科:https://baike.baidu.com/item/IP%E6%95%B0%E6%8D%AE%E6%8A%A5/1581132?fr=aladdin

    9. 常用的虚拟存储系统由(A)两级存储器组成,其中辅存是大容量的磁表面存储器。

    A. 主存-辅存
    B. 快存-主存
    C. 快存-辅存
    D. 通用寄存器-主存

    解析:
    在这里插入图片描述

    10. 某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围是(C

    A. 4MB
    B. 2MB
    C. 2M
    D. 1M

    解析:
    半字=16位 - 一个地址16位 = 16b
    1B=8b
    4MB=32Mb
    32Mb / 16b = 2M

    11. 由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此机器周期通常用(A)来规定。

    A. 主存中读取一个指令字的最短时间
    B. 主存中读取一个数据字的最长时间
    C. 主存中写入一个数据字的平均时间
    D. 主存中读取一个数据字的平均时间

    解析:
    在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由 若干个S周期(状态周期)组成。通常用内存中读取一个指令字的最短时间来规定CPU周期,(也就是 计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间)),它一般由12个时钟周期(振荡周期)组成,也是由6个状态周期组成。而振荡周期=1秒/晶振频率,因此单片机的机器周期=12秒/晶振频率 。

    12. 在定点二进制运算器中,减法运算一般通过(D)来实现。

    A. 原码运算的二进制减法器
    B. 补码运算的二进制减法器
    C. 原码运算的十进制加法器
    D. 补码运算的二进制加法器

    解析:
    补码可以实现四则运算
    补码有符号位
    ⑴如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
    ⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
    所以补码运算都是加法

    13.有8个结点的无向图最多有(B)条边。

    A. 14
    B. 28
    C. 56
    D. 112

    解析:
    n * (n-1) / 2

    14. 非空的循环单链表head的尾结点p满足(A

    A. p->next==head
    B. p==NULL
    C. p->next==NULL
    D. p==head

    解析:
    循环链表 尾结点指向头结点

    15. 设一棵二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树先序遍历序列为(D

    A. adbce
    B. decab
    C. debac
    D. abcde

    解析:
    在这里插入图片描述

    16. 设计一个判别表达式中括号是否配对的算法,采用(D)数据结构最佳

    A. 顺序表
    B. 链表
    C. 队列
    D. 栈

    17. 有以下程序
    main ( )
    {
    int m=3,n=4,x;
    x=-m++;
    x=x+8/++n;
    printf("%d\n",x);
    } 
    
    程序运行后的输出结果是(D

    A. 3
    B. 5
    C. -1
    D. -2

    解析:
    x=-m++; 自加运算符在完成 = 的赋值运算后进行,即此时的 x = -3
    x=x+8/++n; 自加运算在完成 / 运算之前进行, 此时的n = 5,由于是int类型,所以8 / 5 = 1,即此时的x = -3 + 1 = -2

    18. int a[10]; 合法的数组元素的最小下标值为(D

    A. 10
    B. 9
    C. 1
    D. 0

    19. 有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是(A

    A. 3
    B. 4
    C. 5
    D. 有语法错

    解析:
    rec1
    rec2+rec3
    (rec4,rec5)

    20. 以下错误的描述是:函数调用可以(D

    A. 出现在执行语句中
    B. 出现在一个表达式中
    C. 做为一个函数的实参
    D. 做为一个函数的形参

    解析:
    实参可以是任意形式的表达式,可以是函数调用,但形参只能是一个标示符,不能是数字,表达式或者函数调用。

    21. 在没有任何数学库函数的情况下,求一个数 m 开 n 次方的结果。(编程题)

    题目链接:
    https://www.nowcoder.com/questionTerminal/5272cb35e20d460d85362c3728d4197a?answerType=1&f=discussion

    22. 地铁迷在某个城市组织了地铁打卡活动。活动要求前往该城市中的所有地铁站进行打卡。打卡可以在站外或者站内进行。地铁的计价规则如下:只要不出站,就不计费;出站时,只计算进站和出站站点的距离。如在同一个站点进出站,按照最低票价 a 元计算。假设地铁票不会超时。大部分站点都是通过地铁线连通的,而且地铁站的连通是双向的(若 A,B 连通,则 B,A连通),且具有传递性的(若 A,B 连通,且 B,C 连通,则 A,C连通)。但并不是所有的地铁站都相互连通,在不能通过坐地铁达到的两个地点间,交通的花费则提高到 b 元。地铁迷从酒店起点出发,再回到酒店。假设从酒店到达任意地铁站的交通花费为 b 元。请计算地铁迷完成打卡最小交通花费。(编程题)

    题目链接:https://www.nowcoder.com/questionTerminal/2133a6f174ef49759e4a142ccf28aee9?answerType=1&f=discussion

    展开全文
  • 1.从用户角度看,引入文件系统的主要目的是( ) ​ 实现对文件的按名存取 2.要求在规定的时间内对外界的请求必须给予及时相应 的OS是( ) ​ 实时系统 3.通常所说的”存储保护”的基本含义是( ) ​ 防止程序间...
    PS:该篇的题目出自牛客网笔试真题
    链接:https://www.nowcoder.com/test/21366686/summary
    

    1.从用户角度看,引入文件系统的主要目的是( )

    实现对文件的按名存取

    2.要求在规定的时间内对外界的请求必须给予及时相应 的OS是( )

    实时系统

    3.通常所说的”存储保护”的基本含义是( )

    防止程序间相互越界访问

    4.外存上存放的数据( )

    必须在访问前先装入内存

    因为存放在外存中的信息,必须先由CPU读出来写入内存,才能够被CPU使用。
    

    5.以太网媒体访问控制技术CSMA/CD的机制是( )

    争用带宽

    CSMA/CD的机制:控制过程包含四个处理内容:监听、发送、检测、冲突处理。
    1、监听:
    	通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传(线路是否忙),若“忙”则进入后述的“退避”处理程序,进而进一步反复进行侦听工作;若“闲”,则一定算法原则(“X坚持”算法)决定如何发送。
    2、发送:
    	当确定要发送后,通过发送机构,向总线发送数据。
    3、检测:
    	数据发送后,也可能发生数据碰撞。因而,要对数据边发送,边检测,以判断是否冲突了。
    4、冲突处理:
    	当确认发生冲突后,进入冲突处理程序。
    

    6.路由选择协议位于( )

    网络层

    这是OSI七层网络模型的知识点,详细可以参考:https://blog.csdn.net/Super_Yiang/article/details/103741814
    

    7.在Internet的基本服务功能中,远程登录所使用的命令是( )

    telnet

    ​ Telnet和FTP的相同点和不同点:

    Telnet和FTP都可以实现远程登陆,他们的区别在于Telnet是远程登陆协议,而FTP是文件传输协议,这样二者的权限大不相同。
    Telnet是它是把登陆用户可以当成本地计算机一台终端,用户在登录远方计算机后,具有计算机上的本地用户一样的权限。如果可以的话,系统甚至可以赋予登陆用户全部的权限。
    FTP它只允许用户对远方计算机上的文件进行有限的操作,包括查看文件、上传和下载文件以及改变文件目录等。它只是文件传输协议。
    两者都是tcp/ip网络框架下的应用,系统中分配网络接口也不一样。
    

    8.IP协议是无连接的,其信息传输方式是 ( )

    数据报

    9.常用的虚拟存储系统由( )两级存储器组成,其中辅存是大容量的磁表面存储器

    主存-辅存

    在具有虚拟存储器的计算机系统中,把物理上独立编址的二级存储器,主存储器和辅存储器连接起来统一使用。从而向用户提供了一个比真实主存大得多的逻辑上可统一编址的编程地址空间,称虚拟存储器
    

    10.某计算机字长32位,其存储容量为4MB,若按半字编址,它的寻址范围是( )

    2M

    字长32位,也就是4个字节,1个字节8位,存储容量为4MB,若按字编址就是4MB÷4B=1M;若按半字编址,就是4MB÷2B=2M
    

    11.由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此机器周期通常用( )来规定

    主存中读取一个指令字的最短时间

    完成一个基本操作所需要的时间称为机器周期,通常用内存中读取一个指令字的最短时间来规定CPU周期
    

    12.在定点二进制运算器中,减法运算一般通过( )来实现

    补码运算的二进制加法器

    减法运算一般是通过被减数加上减数的补码来实现,所以是补码运算的二进制加法器
    

    13.有8个结点的无向图最多有( )条边

    28

    无向图就是没有方向的图,如果任意两个顶点之间都存在边,则称该图为无向完全图
    假设有k个结点的无向图,要计算最多有多少条边?
    第一个结点可以有k-1种选择,第二个有k-2种选择...
    以此类推,最多就是(k-1)+(k-2)+...+1,也就是k*(k-1)/2条边
    

    14.非空的循环单链表head的尾结点p满足( )

    ​ p->next==head

    非空的循环单链表尾结点指向头节点
    

    15.设一棵二叉树的中序遍历序列:badce,后序遍历序列:bdeca,则二叉树先序遍历序列为( )

    abcde

    前序遍历:根左右
    中序遍历:左根右
    后序遍历:左右根
    这一题先根据后序遍历确定a是根节点,然后根据中序遍历确定a的左边是b,右边是dce,然后再中序遍历的左根右确定c是右子树的根,所以树的形状是
      a
     / \
    b 	c
       / \
      d   e
    所以先序遍历的序列是:abcde
    

    16.设计一个判别表达式中括号是否配对的算法,采用( )数据结构最佳

    栈:先入后出后入先出,两种操作:从栈顶入栈和从栈顶出栈
    如果是左括号,入栈
    如果是右括号,看栈顶是不是左括号,如果是就把那个左括号出栈;否则不配对(可以直接结束算法)
    处理完所有符号后,栈为空则配对成功,否则不配对
    

    17.以下程序运行后的输出结果是( )

    main(){
        int m=3,n=4,x;
        x=-m++;
        x=x+8/++n;
        printf("%d\n",x);
    } 
    

    -2

    main(){
        int m=3,n=4,x;//m=3,n=4
        x=-m++;//x=-3,m=4,注意m++先被引用后再自增
        x=x+8/++n;//-3+8/5,x=-2,注意++n是先自增后被引用
        printf("%d\n",x);
    } 
    

    18. int a[10]; 合法的数组元素的最小下标值为( )

    0

    数组元素的下标是从0开始
    

    19.有如下函数调用语句 func(rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是 ( )

    3

    函数的实参是
    	rec1
    	rec2+rec3
    	(rec4,rec5)
    所以一共有3个
    

    20.函数调用可以( )

    (1)出现在执行语句中;(2)出现在一个表达式中;(3)作为一个函数的实参

    21.在没有任何数学库函数的情况下,求一个数 m 开 n 次方的结果。

    m开n次方

    ​ 注:我的代码用了pow()函数提交后发现也可行。

    import java.lang.*;
    import java.util.*;
    public class Main{
        public static void main(String[] args){
            Scanner input=new Scanner(System.in);
            double a=input.nextDouble();
            double b=input.nextDouble();
            a=Math.pow(a,1/b);
            System.out.println(a);
        }
    }
    

    这个是自己写的开根函数

    import java.lang.*;
    import java.util.*;
    public class Main{
        /**
         * 开根函数:用二分法求
         * @param min 最小值
         * @param max 最大值
         * @param m 被开根的数
         * @param n 开几次根
         * @return
         */
        public static double pow(double min,double max,double m,double n){
            double constant=1.0E-12;//确保小数点后面保留12位,不然会出现栈溢出
            double temp=(min+max)/2;
            double result=temp;
            for(int i=1;i<n;i++){
                result*=temp;
            }
            if(m-result>constant){
                min=temp;
            } else if(result-m>constant){
                max=temp;
            }else {
                return temp;
            }
            return pow(min,max,m,n);
        }
    
        public static void main(String[] args){
            Scanner input=new Scanner(System.in);
            double a=input.nextDouble();
            double b=input.nextDouble();
            a=pow(0,a,a,b);
            System.out.println(a);
        }
    }
    

    22.地铁迷在某个城市组织了地铁打卡活动。活动要求前往该城市中的所有地铁站进行打卡。打卡可以在站外或者站内进行。地铁的计价规则如下:只要不出站,就不计费;出站时,只计算进站和出站站点的距离。如在同一个站点进出站,按照最低票价 a 元计算。假设地铁票不会超时。大部分站点都是通过地铁线连通的,而且地铁站的连通是双向的(若 A,B 连通,则 B,A连通),且具有传递性的(若 A,B 连通,且 B,C 连通,则 A,C连通)。但并不是所有的地铁站都相互连通,在不能通过坐地铁达到的两个地点间,交通的花费则提高到 b 元。地铁迷从酒店起点出发,再回到酒店。假设从酒店到达任意地铁站的交通花费为 b 元。请计算地铁迷完成打卡最小交通花费。

    地铁打卡

    求指教。。。
    
    展开全文
  • 由于操作系统的引入,数据的读写往往是通过文件的方式完成,而不是直接对存储单元地址操作。用文件读写方式操作数据,在程序的运行过程中往往将数据暂存在易失性的存储空间,如SDRAM,一旦系统意外失电,这些数据...
  • Linux文件操作

    2014-06-25 21:54:16
    1、文件系统 1.1、虚拟文件系统 Linux文件系统有两层结构组成。第一层是虚拟文件系统VFS,第二层是各种具体的文件系统。...VFS的主要目的在于引入了一个通用的文件模型。模型的核心是4个对象类型:
  • 操作系统是一个庞大的管理控制程序,主要包括5个方面的功能:处理机管理,作业管理,存储管理,设备管理,文件管理。 操作系统的四大特征:并发、共享、虚拟、异步。 并发:操作系统中引入进程的目的就是为了使...
  • “ tar”实用程序最初是为UNIX操作系统引入的。其目的是将多个文件收集在一个通常称为tarball的单个存档文件中,这使...此模块中定义的主要功能是main()使用完成写入tar文件或从中读取文件的功能。打开()此函数返...
  • 操作系统复习3

    2016-12-10 23:04:36
    1、 多道系统环境下,操作系统分配资源是以进程为基本单位; 2、处理器调度有哪些? P28 处理器调度分为三个层次:低级调度、中级调度和高级调度,进程调度是低级调度;...4、引入文件系统的主要目的;P14
  • 6.1 Oracle 引入逻辑结构的目的 主要是为了跨平台 6.2 Oracle数据库中存储结构之间的关系 l 每个数据库是由一个或多个表空间组成(至少一个)。 l 每个表空间基于一个或多个操作系统的数据文件(至少一个)。 l 每个表...
  • 在Java项目中引入日志

    千次阅读 2017-01-30 22:17:57
    日志(log) 主要用来记录系统运行中一些重要操作信息 便于监视系统运行情况,帮助用户提前发现和避开可能出现...控制日志信息输送的目的地是控制台、文件等 控制每一条日志输出格式 使用步骤: 1.在项目中加入
  • linux杂谈之文件句柄

    2020-08-01 11:16:39
    前提说明:非计算机理解这句话说...句柄的引入主要是操作系统为了避免应用程序直接对某个对象数据结构进行操作为目的,用操作句柄来代替操作对象。 二 limits.conf工作原理 limits.conf是pam_limits.so配置...
  • 开题报告 一、课题题目 基于HTML模拟系统自动报告生成技术的研究与开发 二、课题内容及任务要求本课题的主要目的是自动生成HTML格式的分析报告文档: 1.对华铸CAE数据可以自动获取 2.自动生成HTML文件 3.开发...
  • yum : yellowdog updater modified,是rpm一个前端程序,主要目的是设计用来解决RPM依赖关系问题,特点如下:安装rpm包时自动解决依赖关系;可对rpm包进行分组,并基于分组进行安装;引入了仓库概念,支持多个...
  • 其中[B]的主要目标是提高系统的吞吐率和效率,而[E]是一旦有处理请求和要求处理的数据时,CPU就应该立即处理该数据并将结果及时送回,例如[D]等。 供选择的答案:  [1][2][3]  A、 单用户系统 B、多道批处理系统 C...
  • 对考试很有帮助的.......... ...UNIX或Linux操作系统中文件系统的主要特点 (1)操作系统文件的目录组织是一个树形结构,从根结点到叶子称为文件的全路径名,文件可以由其全路径名唯一确定...
  • 数据库系统的主要特点有: ( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数 据库系统与文件系统的本质区别。解析注意这里的“整体’夕两个字。在数据库系统中,数 据不再针对某...
  • 嵌入式系统详细文档

    热门讨论 2004-04-28 00:00:00
    本文主要目的是研究面向对象软件开发技术和软件设计模式在工业数据采集软件设计开发中应用。内容基于一套包含多种智能控制模块嵌入式实时控制软件,实际上就是一套软PLC软件包,并结合当前工控组态软件实际情况...
  • MySQL 事务学习整理

    千次阅读 2019-06-17 19:08:31
    事务是数据库区别文件系统的重要特征...数据库系统引入事务的主要目的:事务会把数据库从一种一致状态转换成另外一种状态。在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都不保存。 2 ...
  • 1引入事务的目的数据库系统引入事务的主要目的:事务会把数据库从一种一致状态转换成另外一种状态。在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都不保存。2 ACID简介InnoDB存储引擎...
  • 数据库系统的主要特点有: ( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。解析注意这里的“整体’夕两个字。在数据库系统中,数据不再针对某一...
  •  0154 输入的卷标超过目标文件系统的标号字符长度极限。  0155 无法创建其他线程。  0156 接收进程拒绝该信号。  0157 已经放弃该区域,因此无法锁定。  0158 该区域已经解除锁定。  0159 线程...
  • 句柄的引入主要是操作系统为了避免 应用程序直接对某个对象数据结构进行操作为目的,用操作句柄来代替操作对象。在 Linux 环境中,任何事物都是用文件来表示,设备是文件,目录是文件,socket
  • 数据库系统引入事务的主要目的:事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不保存。 认识事务 事务可由一条非常简单的SQL语句组成,...
  • MySQL事务

    2020-08-18 09:50:53
    资源来自:《MySQL技术内幕-InnoDB存储引擎》 首先来了解一下数据库引入事务的原因 事务(transaction)是数据库区别于文件系统的重要特性之一。在文件系统中,如果...数据库系统引入事务的主要目的是:事务会把数据
  • 背景 我们的系统集成了携程的配置...这篇文章的主要目的是看apollo是如何实现热更新的 使用 接入apollo pom文件引入meven依赖 <dependency> <groupId>com.ctrip.framework.apollo</groupId>
  • 事务(Transaction)是数据库区别于文件系统的重要特性之一。在文件系统中,如果你正在写文件,但是操作系统突然崩溃了,这个文件就很有可能被破坏。当然,有一些机制可以把...这正是数据库系统引入事务的主要目的:...
  • XSL全称是Extensible Stylesheet Language(可扩展样式语言), 是将来设计XML文档显示样式的主要文件类型。它本身也是基于XML语言的。使用XSL,你可以灵活的设置文档显示样式,文档将自动适应任何浏览器和PDA(掌上电脑...

空空如也

空空如也

1 2 3 4 5 6
收藏数 119
精华内容 47
关键字:

引入文件系统的主要目的是