什么是系统编程

最简单的程序直接从键盘读取数据,程序处理读入的数据,最后将处理的结果输出到显示器上面显示给用户(程序在处理过程中可能对磁盘进行一些操作)。

对于多用户系统,可能同时有多个用户在使用同一个程序或者计算机的资源(计算机的资源指 CPU 的运行时间、内存、显示器、磁盘等等)。由于某些资源不能同时给多个用户或者程序使用(比如当用户数量或者运行中的程序数量大于 CPU 的核心数时,必然有些程序处于暂停状态),此时就需要对程序使用资源的方式进行管理。

专门用来管理计算机资源的程序称为操作系统(Operating System,OS),用于给程序分配它运行需要的资源,作为硬件和程序联系的桥梁等。OS 是程序,程序只有在内存中运行才能产生效果,所以一般情况下,OS从电脑开机之后就一直在内存中运行。

由于所有的计算机资源都是由 OS 管理的,所以其他程序(除了 OS)如果需要用到计算机资源(如键盘、显示器等),需要通过 OS 提供的接口才能使用。一般情况下,程序对硬件的访问必须通过 OS。计算机的内存划分为两个部分:运行 OS 的内存区域称为系统空间,运行其他程序的内存区域称为用户空间。

系统资源

  • 处理器:用于执行指令。
  • 输入输出(I/O):所有的输入输出数据都流经 OS,由 OS 统一管理。
  • 进程管理:程序的一次运行称为进程,OS 管理进程的创建、暂停、终止等。
  • 内存:任何程序执行过程中需要的资源。
  • 设备:各种外部设备。
  • 计时器:特定程序的执行和时间相关,此时会用到。指令的执行也和时间相关。
  • 进程间通信:两个运行中的程序之间交换数据。
  • 网络通信:不同主机的进程之间进行通信。

Unix 操作

注销指令:exit,有些系统中可以使用 logout 或者 Ctrl+D 从系统注销。用户注销后,OS 会销毁为此用户创建的所有进程。

登录:用户输入正确的用户名和密码进入系统后,OS 会专门为新进入的用户创建一个称为 shell 的进程,这个进程用于解释用户的输入。当用户从键盘输入时,OS 将输入传递给 shell 程序,由 shell 对用户的输入进行响应。

date:显示当前日期和时间。

随机显示格言:fortune

文件系统:/ 表示文件系统的根目录,文件系统组织形式为树结构。

ls:列出当前目录内容, ls 目录名 列出特定目录中的内容。

改变当前目录:cd 目录名 改变当前目录为指定的目录;cd .. 返回当前目录的上一级目录,'..' 表示当前父目录 '.' 表示当前目录;cd 回到当前用户的主目录,一般为'/home/username'。

pwd:显示当前目录的全路径名,从根目录/开始。

mkdir:在当前目录位置创建一个指定名称的目录,mkdir 目录名

rmdir 目录:删除指定的目录,该目录必须为空

文件命名规则:除了表示根目录的 '/' 之外,其他英文系的字符都可以(包括空格和回车符)。

cat 文件名:显示指定文件的全部内容。

more 文件名:显示指定文件的一屏幕的内容,若按 ‘q’ 则退出;按空格则继续显示下一屏幕的内容;按回车则继续显示下一行的内容。

less 或者 pg:和 more 类似。

cp 源文件名 目标文件名:将源文件复制到以 “目标文件名” 为名称的新文件中。

rm 文件名:删除指定的文件。

mv 文件名 目标文件名/目标目录名:如果第二个参数为文件名,则将文件名称改为目标文件名;若第二个参数为目录名,则将该文件移动到指定的目录中。

lpr 文件名:打印指定的文件。

文件权限:文件权限分为读、写、执行三种,同时又具有三组权限:第一组指文件的所有者、第二组指文件所在者所在的 group、第三组指其他 group 的用户。

ps:显示当前系统中的所有进程。

bc:计算器程序,可以计算很大的数。实质上将中缀表达式转换成后缀表达式并传递给 dc 程序。

dc:接收一个后缀表达式,计算表达式的值。

参考文献

[1] Bruce Molay,Unix Linux编程实践教程,2004.

 posted on 2021-06-22 15:31  x-yun  阅读(52)  评论(0编辑  收藏  举报