UNIX整理
《UNIX程序设计》期末考试复习提纲 题型: 复习要点: (1)什么是操作系统?什么是UNIX操作系统?什么是Linux操作系统?它们之间的关系是怎样的? 操作系统:控制计算机硬件和软件资源,对作业进行合理的调度,以供用户方便使用的一组软件的集合。 UNIX操作系统,是一个强大的多用户、多任务 操作系统 ,支持多种 处理器架构 ,按照操作系统的分类,属于 分时操作系统 。 类Unix 操作系统 ,是一个基于 POSIX 和 UNIX 的多用户、 多任务 、支持 多线程 和多 CPU 的操作系统。 Linux继承了 Unix 以 网络 为核心的设计思想,它能运行主要的UNIX工具软件、应用程序和网络协议。 (2)程序运行时,堆栈如何变化?什么是数据帧或活动记录?bp和sp指针在函数运行过程中是如何变化的? 新的栈中变量会在低地址的位置,新的堆中的变量会在高地址的位置 栈是向低地址延伸的,堆是向高地址延伸的 过程活动记录/栈帧, 每个(用户)栈帧包括如下内容: 函数实参和局部变量:由于这些变量都是在调用函数时自动创建的,因此在C语言中称其为自动变量。函数返回时将自动销毁这些变量(因为栈帧会被释放),这也是自动变量和静态(以及全局)变量主要的语义区别:后者与函数执行无关,且长期存在。 函数调用的链接信息:每个函数都会用到一些CPU寄存器,比如程序计数器,其指向下一条将要执行的机器语言指令