操作系统部分
n 主要参考书
《 计算机操作系统教程 》 (第3 版) , 作者: 张尧学 史美林 张高 , 清华大学出版社 。
《计算机操作系统》(第二版),汤子瀛等,西安电子科技大学出版社。
《UNIX操作系统教程》尤晋元 ,西北电讯工程学院出版社。
n 基本概念和基础知识
l 计算机系统中的硬件资源和软件资源都包括哪些?
l 进程的基本状态有哪些?
l 什么是系统调用? 它和操作系统有什么关系?
l 什么是可重入程序? 请举出一个不可重入的程序例子。
l 什么是中断? 中断的主要作用是什么?
l 中断是如何被响应的? 中断的处理流程包括哪些 ?
l 什么是程序的虚拟地址和物理地址?什么叫虚拟存储器?
l 页表是什么?采用页式存储管理的地址转换过程是什么?
l 什么是文件的物理结构(存储结构)。
l 请说明关于文件的物理结构与文件存取方法间的关系。
l 什么是临界区 ?对相关临界区的管理要求是什么?
l 什么是进程的互斥? 为什么会有进程的互斥要求?
l 请写出实现进程互斥的工具——PV 操作的工作原理。
(1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。
(2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。
(3)信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本 身;linux除了支持Unix早期信号语义函数sigal外,还支持语义符合Posix.1标准的信号函数sigaction(实际上,该函数是基于 BSD的,BSD为了实现可靠信号机制,又能够统一对外接口,用sigaction函数重新实现了signal函数)。
(4)消息(Message)队列:消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消息队列克服了信号承载信息量少,管道只能承载无格式字 节流以及缓冲区大小受限等缺
(5)共享内存:使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。
(6)内存映射(mapped memory):内存映射允许任何多个进程间通信,每一个使用该机制的进程通过把一个共享的文件映射到自己的进程地址空间来实现它。
(7)信号量(semaphore):主要作为进程间以及同一进程不同线程之间的同步手段。
(8)套接口(Socket):更为一般的进程间通信机制,可用于不同机器之间的进程间通信。起初是由Unix系统的BSD分支开发出来的,但现在一般可以移植到其它类Unix系统上:Linux和System V的变种都支持套接字
l 在UNIX 系统中的逻辑文件采用何种文件组织形式?
l 什么叫索引节点 inode ? 它和文件之间是什么关系?
l UNIX系统中基本文件操作包含有哪些?
C语言、数据结构与编程部分
n 使用教材及参考书
《C 语言程序设计》 谭浩强,
《数据结构》 严蔚敏。
《C 语言程序设计》是 C 语言入门经典书籍,入学前我们必须掌握此书的全部内容。
n 基本概念和基础知识
l C 语言的常见数据类型有哪些? 常用的语句可以分为哪几种?
l 掌握C 语言常用的库函数的使用,例如: printf,strlen 等等 。
l 什么是表达式? 表达式的值一般是怎么计算出来的?
l 什么是数组?数组元素与存储单元的对应关系是怎样的?
l 什么是字符串? 字符串的存储是怎样的?
l 如何实现字符串的匹配? 如何对字符串进行比较?
l 什么是链表? 单链表;双向链表;循环链表 各是怎么进行存储和操作的?
l 什么是栈和队列?栈的结构特点有哪些?
l 什么是递归函数? 怎样实现递归?
l 什么是插入排序;交换排序;选择排序;归并排序;基数排序;外排序? 哪种排序方法好?
n 编程部分要求
l 掌握基本的编程逻辑思维能力,能够运用C语言解决实际问题,比如求完全数等问题。
l 掌握栈的结构特点,能够编程实现一个栈的 push 和 pop 接口。
l 掌握递归函数的特点,能够运用递归函数实现类似计算阶乘的函数。
l 掌握字符串的存储特点,自己编程重新实现 <string.h> 中函数接口。
l 掌握位运算符,能够熟练运用位运算进行位操作,比如对某个bit设置1或者0。
l 掌握链表的结构,能够编程实现链表的创建,插入,删除,排序等接口。
l 掌握C语言模块化编程的基本思想,能够合理正确地使用函数来实现比较复杂的问题。
微机原理与接口技术部分
n 使用教材及参考书
1.《微型计算机原理与接口技术》,冯博琴等编,清华大学出版社,2000年
n 基本要求
l 掌握计算机基础知识,了解微型机的基本组成,工作原理、整机工作流程。
l 掌握计数制及不同进位计数制之间的转换,编码(原码,反码和补码,BCD码,ASCII码等) 运算方法,数的定点及浮点表示法。
l 了解存储器类型,掌握存储器工作原理及与CPU连接及扩充方法。掌握微机外部存储器的工作原理和应用。
l 掌握汇编语言程序设计基本方法和熟悉上机调试过程。
l 掌握中断方式及中断处理过程。
l 掌握常用的典型接口芯片(并行、串行、定时及D/A、A/D)基本逻辑结构及外部特性,掌握典型接口芯片与CPU 连接应用技术和常用接口标准。
l 掌握计算机外部设备和常用外设的工作原理和技术评价指标。
l 了解微机应用系统一般设计开发方法。
n 扩展要求
l 微处理器结构
1、 重点掌握微处理器内部逻辑结构,引脚功能。
2、 掌握总线、总线周期的概念。
3、 了解CPU 的型号和流行的 CPU 技术。
4、 了解流水线的原理及其在CPU中的应用。
l 存储器
5、 掌握存储器分类及特性。
6、 了解随机存储器RAM的结构原理(静态RAM,动态RAM)。
7、 了解只读存储器ROM 结构原理, PROM , EPROM , EEPROM 工作特点。
8、 重点掌握存储器芯片特性及与CPU的连接方法,存储器空间扩展,存储器芯片的选用,控制逻辑与总线连结逻辑,存储器与CPU连接举例。
l 指令系统
9、 了解指令的基本格式。
10、 掌握指令的寻址方式。
11、 重点掌握指令系统。
12、 了解ARM指令.
l 汇编语言程序设计
13、 掌握汇编语言基本语法语句,操作数的寻址方式与汇编表示,常量与数值表达,标号,变量与地址表达式。
14、 掌握顺序、分支、循环程序设计,子程序与堆栈技术,DOS 功能调用。会编写中等难度的汇编语言程序。
15、 了解中断程序的结构。
l 输入与输出
16、 了解输入输出作用,编址方式,控制方式。
17、 掌握输入输出(I/O) 设备与微型机之间交换数据的控制方式 ( 程序控制 I/O 方式,中断控制 I/O 方式,直接存贮器存取 (DMA) 方式。 )
18、 重点掌握中断原理、中断系统、中断控制器。
l I/O接口技术
19、 重点掌握并行数据通信及可编程I/O 接口。
20、 重点掌握可编程计数/定时器。
21、 重点掌握数/ 模 (D/A) 转换与模 / 数 (A/D) 转换应用。
22、 了解串行通信的原理及其常用的接口芯片的使用。
23、 了解接口的形态和分类和常用接口标准。
l 总线技术
24、 了解总线的作用及其类型。
25、 了解常见的系统总线。
26、 了解常见的外部总线