N26_W1

第26期网络版 第1周 作业


1.描述计算机的组成及其功能

计算机组成如图:

硬件

这里描述的硬件结构是遵从最早期的‘冯·诺依曼’体系(Von Neumann architecture1),只作为理论学习参考,没有太多实际参照意义。若要深入研究,这将是一块很大的知识领域。

  • 中央处理器 Central Processing Unit2
    • 控制器 Control Unit
    • 计算器 Arithmetic/Logic Unit
    • 寄存器 Register
  • 主存储器 RAM (Random Access Memory)
  • 输入设备
  • 输出设备
  • 外围存储 (磁盘,CD/DEV, 其他)

中央处理器 Central Processing Unit
执行程序,处理加工输入数据并返回结果到输出设备。

  • 控制器 Control Unit
    控制器通过与主存储器(RAM)以及计算器(arithmetic/logic unit)的交互,负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号

  • 计算器(Arithmetic/Logic Unit)
    执行逻辑运算(对比数字、字符、特殊字符)以及算数运算(加、减、乘、除)

  • 寄存器 (Register)
    CPU内部的高速存储,临时存放指令执行过程中的操作数和中间(或最终)结果

主存储器 RAM (Random Access Memory)
由控制器调度,负责从外围存储(磁盘)载入存储程序(指令)以及数据,并临时保存。

输入输出以及外围存储这里不做介绍

操作系统

负责统一调度&管理硬件,软件资源。因此可以把OS理解为介于底层硬件和上层应用程序之间的中间层(intermediary)

  • 借助固件(firmware)以及驱动程序,管理计算机硬件资源
  • 统计并分配各项硬件资源给各个应用程序进程
  • 封装底层硬件接口,并为应用程序提供系统调用(system call)
  • 为应用程序提供公共服务(文件管理,内存管理,网络功能等等)

再介绍下去没底了,更多内容参照维基百科3

2.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别

  • 三大主流发行版:
    • RedHat
    • Slackware(SuSE)
    • Debian
  • 其他发行版详见:Linux发行版图谱4
联系
  • 都是基于Linux内核 + GNU开源软件制作
区别
  • 使用的linux内核版本号不同
  • 提供的库(library)不同
  • 默认安装的软件套件不同
  • 软件包管理工具不同
  • 发行&维护方式不同(厂商发行并维护,社区发行并维护)
  • 发行,维护周期不同

3.Linux的哲学思想,并按阐述自己的理解

  • 一切皆文件
    理解:把几乎所有资源(硬件,系统信息,运行参数),以文件形式展现给用户,并且某些情况下允许用户做出修改。相比Windows系统,大大提高了系统自由度。
  • 一个程序只实现某一功能,而且要做好
    理解:尽量写出高质量的程序
  • 组合小程序完成复杂任务
    理解:作为Geek,大家都很忙的,不要重复发明轮子
  • 应用程序尽量避免跟用户交互
    理解:方便实现自动化
    用户永远没有开发人员了解程序的功能
  • 使用纯文本文件保存配置信息
    理解:文本编辑软件就能修改配置,不需要提供额外的配置程序

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

Linux系统上的命令在使用时,一般遵循:
COMMAND [OPTIONS] [ARGUMENTS]
COMMAND: 命令本身
OPTIONS: 用来对命令运行过程中做一些功能上的修正,比如说可以对命令执行的结果进行排序等
ARGUMENTS: 用来对命令运行生效的对象做约束

点击阅读命令实例

5.如何在Linux系统上获取命令的帮助信息,并描述man文档的章节划分

1、内嵌命令使用help COMMAND,外部命令使用COMMAND –help
2、使用说明手册,命令man
3、使用在线帮助文档info COMMAND
4、使用程序自带的帮助文档 /usr/share/doc/APP-VERSION
5、官方文档 http://www.redhat.com/doc
6、程序的官方文档,特别是大型程序,具体google
7、搜索引擎查看其他使用者的心得。

Man 文档的章节划分:
   0   头文件 (usually found in /usr/include)
   1   可执行程序 或 Shell命令
   2   系统调用 (functions provided by the kernel)
   3   库调用 (functions within program libraries)
   4   特殊文件 (通常为/dev下的设备文件)
   5   文件格式约定 e.g. /etc/passwd
   6   游戏
   7   其他杂项  (macro packages and conventions), e.g. man 7 glob
   8   系统管理员命令 (usually only for root)

帮助手册路径:/usr/share/man 

6.Linux基础目录名称命名法则及功用

目录说明
/boot Boot Loader 以及 Linux内核(建议单独分区,但不能用LVM)
/bin 普通用户(或管理员)基本的binary commands。该目录下不准再创建任何子目录(系统启动需访问,不能单独分区)
/sbin 系统启动,维护,修复和管理相关的程序。该目录下不准再创建任何子目录(系统启动需访问,不能单独分区)
/etc 配置文件 (系统启动需访问,不能单独分区)
/lib 共享库 & 内核module (系统启动需访问,不能单独分区)
/usr 该目录下的内容推荐被只读挂载并可以被共享(建议单独分区,并以只读形式挂载)
/usr/bin 普通用户(或管理员)使用的和系统启动非紧密相关的可执行程序,该目录下不准再创建任何子目录
/usr/local 本地安装的应用程序(初始安装该目录是空的,推荐独立分区)
/usr/X11R6 X Window相关程序
/usr/bin/X11 同上
/sys 在2.6版本的kernel中,出现了一种叫sysfs的新虚拟文件系统。sysfs的 任务是export系统架构to用户空间进程。/sys目录下存放HAL的所需要用到的信息,包含所有连接到Linux上的设备
/proc /proc目录在系统启动时生成,存在于内存(RAM)中,属于VFS(虚拟文件系统)。 proc目录保存当前运行的命令信息(/prod/PID)&系统配置信息。可以读取和更改proc目录下的内容(须root账号),所做更改立即生效,重启后丢失。
/opt 在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为"选装"。 早期的Linux第三方程序会安装到/opt,现在逐渐被/usr/local取代
/var 存放系统日志,用户邮件队列(应该单独分区)