第二阶段测试

一、简答题:

1、操作系统五大管理功能?

答:

1)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收

2)存储管理:实质是对存储“空间”的管理,主要指对主存的管理

3)文件管理:又称为信息管理,负责对计算机文件的组织、存储、操作和保护等

4)进程管理:实质上是对处理机执行“时间”的管理,即如何将CPU真正合理地分配给每个任务。

5)作业(处理机)管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等

2、Linux哲学思想?

   一切皆文件

     小型,单一用途的程序

     链接程序,共同完成复杂的任务

     避免令人困惑的用户界面,即使用命令行界面

     配置数据存储在文本中

3、RAID级别以及简述

比较有用的级别有以下几种:

1RAID 0

  第二阶段测试

  原理:磁盘在两个以上的磁盘驱动器中传送数据,与I/O同时运行,提高I/O性能。若n代表磁盘数量,则每个磁盘驱动器中有n分之一的数据。也就是说可以同时在多块磁盘上读写数据。

  优点:高可用性,读写性能高传输速率高,没有数据冗余,大大提高存储性能

  缺点:由于没有数据冗余,所以容错性能低,如果其中一块磁盘失效,将影响整个数据,而且一旦损坏,无法恢复。

  应用:适用于对数据访问具有容错能力的应用程序,以及能通过其它途径重新形成的数据,适用于个人数据安全要求不高的领域。

注意事项:

1、同一组raid0的硬盘必须容量、规格等都相同

2、组成raid0的磁盘改变为无raid模式或者无raid模式的磁盘改变为raid0模式的时候,系统需要对相应的磁盘重新分区,原磁盘里的数据将全部丢失

2RAID 1

第二阶段测试 

  原理:其中一块磁盘是另一块磁盘的镜像,即把一块磁盘里的数据百分百地复制到另一块磁盘。

  优点:最大限度的保护数据,安全性高,读性能有所提高。

  缺点:由于完整备份,导致磁盘利用率低,存储性能低。

  应用:存放重要数据。

注意事项:同一组raid1的硬盘必须容量、规格等都相同

  3)RAID 0+1即RAID10

    第二阶段测试 

  原理:raid0与raid1的组合,将两个独立的raid1组成一个raid0

  优点:既有raid0的速度,又有raid1的数据安全保证

  缺点:成本高,磁盘利用率低

  应用:适用于对性能和可靠性要求很高的领域。比如:银行、金融、档案管理等。

  4)RAID 4

  原理:提供块级的奇偶校验保护模式,即有一块固定的校验盘,每一轮数据写完之后都会将校验数据写入校验盘。

  优点:当有一块磁盘的数据有差错时,可以通过校验得到正确数据,提高容错性。

  缺点:由于每次都需要等到校验盘写完之后才能进行下一轮读写,所以速度慢。

  5)RAID 5

  原理:与raid4大致原理相同,不同的是,raid5的校验盘不固定,每一轮读写不依赖上次数据是否校验完成。

  优点提高速度,磁盘利用率提高,提高容错性。

  缺点:只允许一块盘出现故障,所以必要时候可以给raid5加一块热备盘。

  应用:RAID 5适用于关系型数据、读密集型数据库表格、文件共享和Web应用程序等

4、一台计算机由哪些部件构成

第二阶段测试 


5、介绍Linux安全模型

 3A模型:认证、授权、审计

       认证:验证身份

       授权:给用户赋予一定的权限

       审计:记录用户都进行了哪些操作等

6、OSI网络模型以及介绍(写出应用场景更好)

  请参看博主的博客:http://13150617.blog.51cto.com/13140617/1962180第二阶段测试

7、TCP三次连接,四次断开

  请参看博主的博客:http://13150617.blog.51cto.com/13140617/1962190第二阶段测试

8、Linux启动流程

  四个大阶段:POST加电自检-->MBR 引导-->GRUB-->加载内核

详细过程:

1)加载BIOS

当你打开计算机电源,计算机会首先加载BIOS信息,BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等,计算机就知道应该去读取哪个硬件设备了,并且检测硬件设备是否准备好了。
    2)读取MBR
    硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,里面存放了预启动信息、分区表信息。
     系统找到BIOS所指定的硬盘的MBR后,就会将其复制到物理内存中。其实被复制到物理内存的内容就是Boot Loader
    3)Boot Loader
    Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备。系统读取内存中的grub配置信息,并依照此配置信息来启动不同的操作系统。
    4)加载内核
    根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。此时,屏幕一般会输出“Uncompressing Linux”的提示。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。系统将解压后的内核放置在内存之中,并调用start_kernel()函数来启动一系列的初始化函数并初始化各种设备,完成Linux核心环境的建立。至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。
    5)用户层init依据inittab文件来设定运行等级
    内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。其实/etc/inittab文件最主要的作用就是设定Linux的运行等级。
    6)init进程执行rc.sysinit
    在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。
    7)启动内核模块
    具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。
   8)执行不同运行级别的脚本程序
    根据运行级别的不同,系统会运行该级别相应的脚本程序,来完成相应的初始化工作和启动相应的服务。
    9)执行/etc/rc.d/rc.local
    rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。用户可以把想设置和启动的东西放到这里。
   10)执行/bin/login程序,进入登录状态
    此时,系统已经进入到了等待用户输入username和password的时候了,就可以用自己的帐号登入系统了。

    其实在这背后,还有着更加复杂的底层函数调用,博主目前能力有限,就等待着你去研究喽~~~第二阶段测试


总结流程:

    POST加电自检,准备好硬件环境。

     然后grub的第一阶段(MBR,位于第0磁道的第一个扇区)-->guub1.5阶段-->grub第二阶段(进行分区),共同组成bootloader,其中grub.conf文件记录了内核和initramfs的文件路径,找到这两个文件并解压之后,将控制权交给内核。

     内核开始尝试挂载根,挂载的时候从initramfs拷贝一个伪根文件系统,伪根文件系统里存放着根文件系统的驱动及一些必要文件,然后根挂载完成之后,将控制权交给根文件系统。

     根文件系统开始启动第一个进程/sbin/init。然后运行初始化文件/etc/inittab(作用是选定运行级别),初始化脚本/etc/rc.d/rc.sysinit(设置欢迎信息,挂载文件系统等),服务脚本/etc/initN.d/(K、S) --> /etc/init.d/... 开启对应级别的服务。

     最后的收尾文件/etc/rc.d/rc.local((用户进行的个性化设置),然后就执行/bin/login进入登陆界面了,启动完成。


二、练习题

1、定义别名命令backetc,将/etc/目录下所有文件,备份到/testdir独立的子目录下,并要求子目录格式为backupYYYY-mm-dd,备份过程可见。

alias backet= ’find /etc/ |xargs tar -Jcf /testdir/bakup`date +%F`.tar.xz’ 

2、计算1+2+3+...+99+100的总和

方法一、

       seq -s "+" 100|bc

方法二、

       echo {1..100}|tr " " "+"|bc  

方法三、

       sum=0;for((i=1;i<=100;i++));do let sum+=$i;done;echo $sum

3、Linux系统软件安装和卸载的常见方法以及优缺点

  常见的安装方法有两种:rpm 安装和yum安装

常用命令是 rpm -ivh 完整包名

        yum install 软件名

   优缺点:使用rpm安装必须写清楚包路径和完整包名,而且如果安装的包有依赖关系,那么可以使用--force来忽略依赖关系;使用yum安装,不需要写清楚路径及包名,只需要写上软件名即可,而且自动解决包依赖问题,把该软件所依赖的包全部都安装。

4、如何修改Linux的IP地址、网关和主机名

   修改ip可以直接在命令行修改,也可以修改配置文件,修改文件是永久生效的,在命令行修改是临时的。

   临时修改ipifconfig eth1 ipaddr/netmask

   编辑配置文件修改IP地址、网关:

vim /etc/sysconfig/network-scripts/ifcfg-eth1

    IPADDR=192.168.1.153        <== ip地址

    NETMASK=255.255.255.0       <== 子网掩码

            GATEWAY=192.128.1.1        <== 网关  

修改主机名: vim /etc/sysconfig/network

5、设计一个20台主机的局域网(列出设备及拓扑图) 第二阶段测试 

6、每周2,47备份/var/log/messages文件至/logs目录中,文件名形如“messages-yyyymmdd

   vim /etc/crontab

 0 0 0 * 2,4,7 root tar Jcvf /logs/messages-`date +%Y%m%d`.tar.xz /var/log/messages &>/dev/null

7、写一个阶乘的脚本n!=1x2x3x...x n

#!/bin/bash

fact () {

  if [ $1 -eq 1 ];then

     echo 1

  else

     echo -e "$[$1*$(fact $[$1-1])]"

   fi

}

fact $1

第二阶段测试

8、生成10个随机数保存于数组中,并找出其最大值和最小值

#!/bin/bash

declare -a array

for ((i=1;i<=10;i++));do

    array[$i]=$RANDOM

     if [ $i -eq 1 ];then

         min=${array[$i]}

         max=${array[$i]}

     else

       [ ${array[$i]} -lt $min ]&&min=${array[$i]}

       [ ${array[$i]} -gt $max ]&&max=${array[$i]}

     fi

       echo "$i个随机数是${array[$i]}"

done

       echo "max=$max min=$min"

 第二阶段测试 

三、选择题

1、下面哪些命令可以将lsof -ivh lsof-4.82-5.el6.x86_64.rpm安装到当前系统(ABC

  A、rpm -ivh lsof-4.82-5.el6.x86_64.rpm

  B、rpm -Uvh lsof-4.82-5.el6.x86_64.rpm

  C、yum localinstall lsof-4.82-5.el6.x86_64.rpm

  D、rpm -e lsof-4.82-5.el6.x86_64.rpm

  说明:选项D表示卸载

2、当yum一个仓库的gpgkey不存在与当前系统上,如何能够成功安装此仓库中的软件包(AD

  A、修改仓库对应的repo文件,添加gpgkey参数,并定制对应的key所在的url

  B、修改仓库对应的repo文件,删除gpgkey参数

  C、修改仓库对应的repo文件,修改gpgcheck=1

  D、修改仓库对应的repo文件,修改gpgcheck=0

3、计划明天凌晨5点,将线上一台服务器的httpd停止,并且启动nginx。要完成这一任务,最  合适的工具选择是(C

 A、crontab   B、batch           Cat           Dwhen

 说明:只执行一次计划任务适合使用at

   定期执行适合使用crontab

4如何快速查看当前nigix进程的所有pidCD

  A、 ps | grep nginx  B、pidof -s nginx  Cpidof nginx  Dps aux | grep nginx

5、以下哪些命令可以查看当前系统的TCP连接(CD

  A、top  B、htop  Css    Dnetstat

  说明:tophtop是用来监控cpu

6、下面哪一个字符集表示非空格字符(A)

  A、[:graph:]  B、[:digit:]  C[:space:]  D[:alpha:]

  说明:[:digit:]表示0-9的数字 [:space:]表示空白字符 [:alpha:]表示大小写字母

7、test表达式中,以下哪一个运算符可以判断文件不是空(C

 A、-z  B、-n    C-s    D-S

 说明:-z判断字符串为空则真;

             -n判断字符串不空为真;

             -s判断文件非空为真;

             -S判断文件为套接字文件则真

8、关于shell CLI中提示符论述正确的是(AB

  A、PS1控制默认命令行提示的格式

  B、PS2控制第二层命令行提示符的格式

  C、PS3控制第三层命令行提示符的格式

  D、以上说法都对

9、在添加新用户时,哪个参数为新用户指定密码(B)

  A、-d  B、-p  C-r  D-P

 说明:-d表示指定用户家目录

     -r表示创建系统用户

四、开放题

1、简述你的优缺点

 建议:不要说太多缺点,可以把优点当成缺点说,内容不要太表面。

2、简述工作中最难忘的一次工作经验

 建议:就算没有工作经验也要想一个,不要说没有经验。

第二阶段测试





















本文转自lc0108131451CTO博客,原文链接: http://blog.51cto.com/13150617/1969849,如需转载请自行联系原作者