一、描述计算机的组成及其功能


计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。


1.硬件系统:

根据冯诺依曼计算机体系结构模型,中央处理器(CPU)与内部存储器(Memory)和I/O(输入/输出)设备合称为电子计算机三大核心部件。如上图:

The first work’s homework_java


中央处理器(CPU,Central Processing Unit)

运算器主要由算数逻辑单元ALU和通用寄存器组成,主要用于完成算术运算和逻辑运算。


控制器是整个计算机的控制中心,它的主要功能是周而复始地取指令、分析指令,在根据指令功能向其他部件发出控制信号以执行指令。



存储器(Memory)

存储器主要用于存储计算机的程序和数据,根据作用可以在分为内部存储器(内存)和外部存储器,内部存储器容量小,速度快,与CPU通过系统总线相连,CPU可以直接访问。而外部存储器速度慢,CPU无法直接访问里面的数据,常用的外部存储器有硬盘、u盘、光盘等。


I/O设备(输入/输出设备)

输入设备用于将程序和数据输入到计算机存储器中,通常输入设备有鼠标、键盘、扫描仪、麦克风等。


输出设备通常用于将计算机存储器中的数据输出。常用的输出设备有显示器、音响、打印机等。


所有的外部设备都无法和CPU直接通信,必须通过接口(Interface)中转后才能和CPU通信。独立显卡、独立网卡等是典型的计算机接口设备。


计算机大多采用总线结构,系统总线将CPU。内存。各种接口相连接。计算机中的总线对外留有各种形式插接口,用于将计算机内的接口设备与CPU相连接。


2.软件系统

The first work’s homework_java_02


什么是操作系统?

操作系统(operating system,缩写:OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出装置、操作网络与管理文件系统等基本事务。操作系统也提供一个让使用者与系统互动的操作界面。


简单来说完整的os基本结构:Kernel+Application

1.把硬件虚拟,完成监控,把cpu按时序复用,把内存分片复用

2.在程序角度,它认为自己独占cpu和内存,认为只有监控程序和自己

3.运行中的程序,放到电脑上不动,叫程序文件


狭义上的OS: kernel


我们可以把操作系统看成是应用程序与底层硬件之间插入的一层软件,所有应用程序对硬件的操作尝试都必须通过操作系统。


操作系统的2个基本功能:

防止硬件被失控的应用程序滥用。

向应用程序提供简单一致的机制来控制复杂的低级硬件设备


用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代标准而言,一个标准PC的操作系统应该提供以下的功能:

    1、进程管理(Processing management)  

    2、内存管理(Memory management)

    3、文件系统(File system)

    4、网络通信(Networking)

    5、安全机制(Security)

    6、用户界面(User interface)

    7、驱动程序(Device drivers)


二、按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别

由于Linux的内核源代码和大量的Linux的应用程序都可以自由获得,因此很多公司或组织开发了属于自己的Linux发行版。目前共有100多种发行版。其中较知名的有Debian、Slackware、RedHat、Gentoo、ArchLinux、红旗Linux等。


主要有三个分支:Debian、Slackware、RedHat。每一个分支都拥有一个最具代表性的商业服务器级的发行版,分别是Ubuntu Server,简称Ubuntu;SUSE Linux Enterprise;Red Hat Enterprise Linux.。同时,还有基于这三大分支和其他分支的一些社区发布版本,比如:基于RedHat的CentOS 、Fedora,基于Debian下的mimt Linux,knopix ,基于Slackware下的OpenSUSE,,以及Gentoo、ArchLinux、国内Linux红旗、麒麟Linux等。


Linux发行版众多,但是实际上只有一个内核,发行版只是给这个内核加上一些应用程序而组成的系统。而这些应用大部分都是来源于GNU社区,代码基本都一样,因此,各发行版之间差别不大。


不同的发行版细节上有一些差别,按软件包管理系统的不同,分以Redhat的rmp包管理系统和Ubuntu的基于DPKG包管理系统。使用前者的发行版包括SLES、Fedora、openSUSE、centos、RHEL等,包文件以rpm为扩展名;使用后者的包括Ubuntu系列,Debian系列等,包文件以deb为扩展名。


三、描述Linux的哲学思想,并按自己的理解对其进行解释性的描述

Linux的哲学思想:

  (1)一切皆文件:把几乎所有的资源都抽象为文件形式。文件可以通过Linux的cat、grep等工具让使用者直接看懂,尤其硬件设备已文件形式保存,更方便使用者控制。

  (2)由众多功能单一的程序组成:让每个程序就做好一件事,如果有新任务,就重新开始,不要往原程序中加入新的功能。

  (3)尽量避免跟用户交互:linux上支持的脚本语言种类十分丰富,易学简单,易于使用者已脚本的方式自动完成众多功能。

  (4)使用文本文件保存配置信息:通过文本处理工具可以完成系统配置。


四、说明Linux系统上命令的使用格式,详细解释ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述


(1)Linux的命令使用格式:#COMMAND [OPTIONS][ ARGUMENTS]。其中,OPTIONS有两种表现形式:短选项:-char,例如:-l -d,如果同一命令同事使用多个短选项,多数可以合并,例如:-ld。长选项:-word,例如:–help。

(2)命令详解


ifconfig:是一个用来查看、配置、启用或禁用网络接口的工具.


-a:显示所有接口的信息:

-s:显示摘要信息:


The first work’s homework_java_03


echo:display a line of text   回显,显示一行文本:

The first work’s homework_java_04The first work’s homework_java_05


tty:查看当前的终端设备

The first work’s homework_java_06


startx:在某一虚拟终端接口运行此命令,启动图形界面


export:显示和设置环境变量

-f:带边环境变量为函数名称

-n:删除制定的环境变量

-p:列出所有的环境变量

The first work’s homework_java_07



pwd:显示当前的工作目录

        -L,–logical 显示当前目录

        -P,–physical 显示当前目录的实际物理地址

        –help 帮助


version 版本

The first work’s homework_java_08


history:用来显示曾执行过的命令,也可以跟选项来重新执行需要的命令

The first work’s homework_java_09


调用命令历史列表中的命令:
       !#:再一次执行历史列表中的第#条命令;
       !!:再一次执行上一条命令;
       !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;

The first work’s homework_java_10


shutdown:以一种安全的方式关闭系统。所有登录用户都可以看到关机信息提示,并且login(1)将被阻塞。可以指定立刻关机,也可以制定系统在一定的延时后关机。

The first work’s homework_java_11



poweroff:关机命令

参数:         

-f:强制关闭操作系统;

-p:断电停机,默认参数;

-w:只是显示关机警告,不调用shutodnw命令,记录写到/var/log/wtmp


reboot:重启命令,用法同poweroff


hwclock和date:查看或设定硬件时间

   –set–date=<time> :设置硬件时间

   –version: 显示版本信息

   -s,–hctosys:  以硬件时间为准来修改系统时间

   -w,–systohc: 以系统时间为准来修改硬件时间


The first work’s homework_java_12The first work’s homework_java_13The first work’s homework_java_14The first work’s homework_java_15


五、如何在Linux上获取命令的帮助信息,请详细列出来,并描述man文档的章节是如何划分的


(1)命令分内置命令和外部命令

   内建命令(builtin):由shell程序的自带命令

   外部命令:独立的可执行程序文件,文件名即命令名


(2)获取命令的使用帮助信息

  内置命令:help COMMAD

  外部命令:

   1)命令自带简要格式的使用帮助 COMMAND -help或COMMAND -h;

   2)使用手册:manual,位置:/usr/share/man

       命令:man COMMAND


其他方式获取:

   1)info:获取Linux在线文档;

   2)合理利用搜索引擎Google来获取帮助信息;

   3)程序自身的帮助文档,有README、INSTALL、Changelog等;

   4)程序的官方文档

   5)发行版的官方文档


man命令:

man命令用于查看Linux系统的手册。手册是在Linux中广泛使用的联机帮助形式,其中不仅包括了常用的命令帮助说明,还包括了配置文件、设备文件、协议和库函数等多种信息。


手册分8个章节:

The first work’s homework_java_16


六、请罗列Linux发行版的基础目录名称命名发展及功用规定


Linux的文件系统的组织方式被称为Filesystem Hierarchy Standard(文件系统分层标准,简称FHS),即其采用层次式的树状目录结构。在此结构上最上层是/,然后在此根目录下是其他的目录和子目录。

使用tree命令显示一层子目录,根目录下包含这些子目录。

The first work’s homework_java_17