1Unix的体系结构与命令用法
Unix操作系统的两个组成部分:内核和壳.学习操作系统的一个重要的任务是命令集,Unix的帮助文档-man。
1.1Unix系统的结构
整个Unix是以几个简单并有点抽象的概念为核心的。Unix的成功在于对一组精心挑选出来的成熟的思想的充分的实现,并证明这些思想是实现一个小而强大的系统的关键技术。
1.1.1 任务分工—内核和壳
将内核和壳之间的任务分工,内核负责与机器的硬件打交道,shell则负责与用户打交道。
内核是操作系统的核心程序,是一组用C语言写成的例程,系统启动时被载入到内存里,直接对硬件设备进行控制.需要访问硬件设备的应用程序需要利用内核提供的服务,间接的访问硬件设备。函数调用请求内核服务。
除了为用户提供服务外,内核还要处理大量的日常事务(内存管理,进程管理,设备管理等等)。计算机本身不能理解用户输入的命令,需要一个命令解释器.一个系统只能有一内核在运行,可以有多个shell程序同时运行.
1.1.2文件与进程
Unix系统的两大支柱:文件和进程,文件是空间,进程是生命.
文件是字节序列,可以包含几乎任何内容,作为层次结构的一部分,它与另一文件有关联.定位文件时,需要选择莫事先定义好的位置作为参考点,Unix不在乎文件的类型,一切都是文件,最重要的一类文件是文本文件—系统的运行方式在很大程度上由这类文件决定.
进程是指内存中运行的程序,进程是可执行文件的”时间镜像”,与文件一样,进程也是一个层级结构里的成员.进程是一个有机体,有双亲,孩子和子孙,会在某个时间出生,在某个时间死亡.系统为我们提供了控制进程的工具.
1.1.3系统调用
Unix系统是由内核,shell和应用程序三个部分组成的,他们都是使用C编写的.虽然整个系统包含了一千多个命令,但是他们通过为数不多的几个函数调用与内核进行通信,这些函数调用为系统调用.各种不同类型的Unix系统的共同的特点是:他们的系统调用完全一样,都遵循POSIX规范。
1.2Unix系统的主要的特性
多用户多任务,管道+过滤器-->小即使美,Unix工具包,模式匹配,编程工具(shell以及其他的各种脚本)
Unix系统提供了全双工式的终端,shell将来自键盘的输入暂存到内核中的一个临时缓冲区,在当前命令执行执行完成后,内核再将命令传递到shell,让它进行解释.
1.3浏览在线帮助文档的man命令
man命令总是和某个特地的分页程序一起使用,Unix中的分页程序:
more:由Berkeley提供的分页程序,比AT&T公司的pg命令性能优越.
less:Linux系统的标准分页程序,模仿vi编辑器,功能比more强,使用vi导航和搜索的大部分功能.
导航和搜索:for b,搜索:'/'
小节 |
专题(SVR4) |
名称(Linux) |
说明 |
1 |
用户程序 |
用户命令 |
可由普通用户启动的命令 |
2 |
内核系统调用 |
系统调用 |
内核系统的函数 |
3 |
库函数 |
库函数 |
C 语言函数的库中的函数 |
4 |
管理文件格式 |
特殊文件和驱动 |
/dev目录中的特殊文件 |