进程和程序:编写shell——《Unix/Linux编程实践教程》读书笔记(第8章)
1、Unix shell的功能 shell是一个管理进程和运行程序的程序。所有常用的shell都有3个主要功能: (1)运行程序; (2)管理输入和输出 (3)可编程 shell同时也是带有变量和流程控制的编程语言。 2、Unix的进程模型 一个程序是存储在文件中的机器指令序列,一般它是由编译器将源代码编译成二进制格式的代码。运行一个程序意味着将这些机器指令序列载入内存然后让处理器(CPU)逐条执行。在Unix术语中,一个可执行程序是一些机器指令机器数据的序列。一个进程是程序运行时的内存空间和设置。数据和程序存储在磁盘文件中,程序在进程中运行。 每个进程都有一个可以唯一标识它的数字,被称为进程ID,一般简称PID;同时也有一个父进程ID(PPID)。每个进程都与一个终端相连,都一个已运行的时间,有优先级,有niceness级别,有大小。。。 Unix系统中的内存分为系统空间和用户空间。进程存在于用户空间。 3、如何执行一个程序 shell打印提示符,用户输入指令,shell就运行这个命令,然后shell再次打印提示符——如此反复。 一个shell的主循环执行下面的4步: (1)用户键入a.out (2)shell建立一个新的进程来运行这个出现 (3)shell将程序从磁盘载入 (4)程序在它的进程中运行知道结束 即: while (!end_of_input) get