操作系统教程

操作系统教程
作 者: 陆松年
出版社: 电子工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 计算机网络原理与应用
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《操作系统教程》作者简介

内容简介

本书是作者在长期的教学实践的基础上写成的一本有关计算机系统的核心软件——操作系统 的 教科书。全书共分三篇:第一篇介绍操作系统的基本原理和最为普及的现代操作系统实例 如UNIX、Linux、Windows 98/NT和Windows 2000等;第二篇介绍了在UNIX和Windows 9x环 境 下的应用开发工具和开发技术;第三篇介绍了UNIX系统、微机系统、TCP/IP网络和几种主要 的Internet服务器的管理、配置、使用和连网技术。本书内容十分丰富,是一本理论结合实际的、很有特色的教科书,可作为计 算机科学与应用、通信工程、电子工程等电子信息类专业的教材,对于从事计算机应用和开 发的技术人员也具有很高的参考价值。计算机技术的飞速发展促进了通信和信息技术革命的到来,使社会的发展步入了信 息时代。 不仅是计算机专业,对于很多非计算机专业,计算机已不是单纯地作为一种工具,计算机课 程已成为各专业的重要组成部分之一。操作系统是计算机的核心总控软件,是计算机系统的指挥和管理中心,是计算机系统的灵 魂。操作系统是计算机专业的主干课程,也是非计算机专业软件技术基础的重点课程。由于计算机性能的极大提高和价格的大幅下降,现在,很多家庭已拥有安装UNIX(或其同 类 Linux、SCO UNIX等)、Windows NT和Windows 98/2000的高档微机。在一般的实验室中也配 备了高 档工作站。过去,计算机系统一般需要有计算机专业毕业的学生担当系统的管理和维护职责 ,而现在计算机使用人员和开发人员自己要负起系统安装、管理和网络维护的责任,因此非 计算机专业的学生和计算机用户不仅要掌握计算机操作系统的原理,也要学习系统管理、计 算机通信和连网的技术。在现代的计算机通信系统中,软件开发工作占了相当大的比重,而与通信系统有关的软件 一 般十分庞大,也相当复杂。这些软件还要大量地与操作系统内核作深层次的交互,以进 行信息的传输、控制和实现各种通信协议。如不掌握操作系统的基本原理,不了解操作系统 的内部结构和其向用户提供的很多重要的库函数和系统调用,就不能成功和有效地开发 这些软件。掌握系统程序设计和网络通信程序设计技术,对于利用操作系统内核所提供的强 大功能进行大型通信软件的设计、开发和维护是极其重要的。本课程的任务是介绍操作系统对计算机系统的处理机、内存、设备和文件等各种资源的管 理 方法,及其所支持的用...

图书目录

第一部分原理篇

第1章操作系统概论

1.1什么是操作系统

1.2操作系统的发展历史

1.2.1早期的计算机和人工操作方式

1.2.2脱机输入/输出和批处理系统

1.2.3缓冲、中断和DMA技术

1.2.4SPOOLING

1.2.5多道程序设计

1.3现代操作系统类型

1.3.1分时系统

1.3.2实时操作系统

1.3.3微机操作系统

1.3.4多处理机、分布式和网络操作系统

1.4操作系统的概念、特征和功能

1.4.1作业和进程

1.4.2操作系统的特征

1.4.3操作系统的功能

1.5UNIX操作系统概述

1.5.1UNIX系统历史

1.5.2UNIX系统特点

1.5.3UNIX系统基本结构

习题1

第2章存储管理

2.1存储管理基础

2.1.1虚拟地址与物理地址

2.1.2地址定位方式

2.2基本存储管理方法

2.2.1单一连续区存储管理

2.2.2固定分区存储管理

2.3可变分区存储管理

2.3.1空闲存储区表

2.3.2首次适应法

2.3.3循环首次适应法

2.3.4最佳适应算法

2.3.5最差适应法

2.3.6多重分区

2.4内存扩充技术

2.4.1覆盖(Overlay)

2.4.2交换技术

2.4.3虚拟存储器

2.5纯分页的存储管理

2.5.1分页存储管理的基本思想

2.5.2地址变换

2.5.3联想存储器和快表

2.5.4空闲内存页的管理

2.6请求分页系统

2.6.1请求分页的基本原理

2.6.2页面淘汰

2.7段式存储管理

2.8段页式存储管理

2.9Linux存储管理

2.9.1Linux存储管理的思想及特点

2.9.2Linux中的页表

2.9.3页面的分配和回收

2.9.4存储映射与请求分页

2.9.5页交换进程与页面的换入换出

习题2

第3章进程管理

3.1进程概述

3.1.1进程的概念

3.1.2进程的组成

3.1.3进程的状态及其变化

3.2进程控制块

3.3调度

3.3.1调度概述

3.3.2进程调度策略

3.3.3进程调度算法

3.4UNIX系统的进程调度

3.4.1进程的切换调度算法

3.4.2切换调度程序

3.4.3UNIX的中级调度——对换调度

3.5进程的控制

3.5.1进程的挂起

3.5.2UNIX系统中的进程睡眠和唤醒

3.5.3进程的终止和等待终止

3.6进程的创建和图像改换

3.6.1进程的创建

3.6.2进程图像的改换

3.7线程

3.7.1进程和线程

3.7.2多线程

3.7.3线程的状态与功能

3.7.4用户级和核心级线程

3.8Linux 进程管理

3.8.1Linux进程结构

3.8.2进程调度

3.8.3进程使用的虚拟内存

3.8.4创建进程

3.8.5Linux的线程

习题3

第4章进程通信

4.1进程的同步与互斥

4.1.1同步与互斥的概念

4.1.2临界段问题

4.2进程间互斥控制方法

4.2.1锁的表示和操作

4.2.2锁的安全控制

4.2.3用纯软件实现进程的互斥

4.3信号灯和P、V操作

4.4信号灯的应用

4.4.1利用信号灯实现互斥

4.4.2阻塞∕唤醒协议

4.4.3两个进程间的同步

4.4.4生产者和消费者问题

4.4.5读者∕写者问题

4.5进程间的数据通信

4.5.1消息通信

4.5.2共享存储区

4.5.3管道通信

4.6.1信号的产生与类型

4.6.2信号的处理方式及设置

4.6.3信号的传送

4.7死锁

4.7.1产生死锁的原因

4.7.2产生死锁的条件

4.7.3死锁的预防

4.7.4死锁的避免

4.7.5死锁的检测

4.7.6死锁的解除

4.8Linux进程间通信

4.8.1信号

4.8.2管道

4.8.3IPC机制

习题4

第5章设备管理

5.1引言

5.1.1设备的概念和分类

5.1.2I/O设备控制与驱动

5.1.3设备管理的设计要求和任务

5.2操作系统与中断处理

5.2.1中断的基本概念

5.2.2中断的类型

5.2.3中断的响应和实现过程

5.2.4中断处理程序和驱动程序

5.2.5中断的返回与恢复

5.3操作系统与时钟系统

5.3.1时钟的概念

5.3.2UNIX系统中的时钟管理

5.4操作系统对I/O操作的控制

5.4.1I/O设备的资源分配

5.4.2I/O通道技术

5.4.3I/O缓冲技术

5.4.4设备的驱动

5.5设备管理的数据结构

5.5.1设备控制表(DCT)

5.5.2设备开关表

5.6磁盘的调度

5.6.1物理特性

5.6.2磁盘调度算法

5.6.3系统设计应考虑的几个问题

5.7UNIX系统V的设备管理

5.7.1UNIX块设备管理的主要数据结构

5.7.2UNIX系统V的缓冲区管理

5.7.3块设备管理

5.7.4字符设备管理

5.8设备分配

5.8.1设备分配方式

5.8.2设备分配的原则

5.8.3设备分配技术

5.8.4SPOOLing系统

5.9Linux 的设备管理

5.9.1概述

5.9.2设备驱动器与内核的接口

5.9.3网络设备的管理

习题5

第6章文件系统

6.1概述

6.1.1文件的术语

6.1.2文件的操作

6.1.3文件的组织和存取

6.1.4文件系统结构

6.2文件目录

6.2.1目录的内容

6.2.2目录的结构

6.2.3存取权限

6.2.4并发存取控制

6.3文件存储资源分配

6.4文件的系统调用

6.4.1文件的创建、打开、关闭和取消

6.4.2文件的读写

6.4.3调整文件读写位置lseek

6.4.4创建任何类型文件mknod

6.4.5其他的文件系统调用

6.5文件的标准子例程

6.5.1标准I/O的概念

6.5.2流文件的打开和关闭

6.5.3流文件的读写

6.5.4调整和获取流文件的读写位置

6.5.5格式输入与输出

6.5.6流的单字符I/O操作

6.5.7行的输入与输出

6.5.8存储区中的格式转化

6.5.9程序的执行

6.6UNIX文件系统的内部结构

6.6.1索引节点(Index Node)

6.6.2文件索引结构

6.6.3目录结构

6.6.4打开文件结构

6.6.5文件系统存储资源管理

6.7管道文件和管道通信

6.7.1管道通信概念

6.7.2管道文件

6.7.3管道的读写和关闭

6.7.4有名管道

6.8Linux文件系统

6.8.1虚拟文件系统

6.8.2Ext2文件系统

习题6

第7章微机操作系统

7.1Windows NT操作系统概述

7.1.1Windows NT的系统模型

7.1.2Windows NT的结构

7.2进程与线程

7.2.1进程

7.2.2线程

7.2.3进程与线程之间的关系

7.2.4进程与线程的管理

7.3虚拟内存的管理

7.3.1进程的虚拟地址空间

7.3.2NT虚拟分页的地址变换机构

7.3.3 页面的调度

7.4NT服务器

7.4.1NT域及域管理

7.4.2数据保护与容错

7.5Windows 98

7.5.1Windows 98概述

7.5.2Windows 98的多任务和调度技术

7.5.3Windows 98的文件系统

7.5.4Windows 98的内存管理

7.5.5Windows 98的设备支持

7.6Windows 2000操作系统

7.6.1Windows 2000概述

7.6.2Windows 2000的目录服务

7.6.3Windows 2000的存储系统

7.7DOS操作系统和Windows系统

7.7.1DOS操作系统

7.7.2Windows系统

7.7.3Windows 95

7.8小结

习题7

第8章分布式和网络操作系统

8.1分布式操作系统概述

8.2网络通信机制

8.3网络同步

8.4网络操作系统

习题8

第二部分应用开发篇

第9章UNIX使用基础

9.1登录和退出系统

9.2Shell 基础

9.2.1Shell的家族

9.2.2简单命令和命令表

9.2.3标准输入和标准输出

9.2.4输入/输出转向

9.2.5后台命令与后台进程

9.2.6管道

9.2.7特殊字符

9.3文件系统基本知识

9.3.1文件的类型

9.3.2目录结构

9.3.3文件存取控制模式

9.3.4目录存取方式

9.4UNIX文件系统结构

9.4.1根文件系统结构

9.4.2/usr文件系统

习题9

第10章UNIX实用程序

10.1目录操作命令

10.1.1显示工作目录(pwd命令)

10.1.2改变工作目录(cd命令)

10.1.3列目录内容(ls命令)

10.1.4创建新目录(mkdir命令)

10.1.5删除目录项(rmdir命令)

10.2文件操作命令

10.2.1复制文件(cp命令)

10.2.2移动或重新命名文件(mv命令)

10.2.3删除文件(rm命令)

10.2.4文件的链接(ln命令)

10.2.5符号链接(ln s命令

10.2.6报告两个文件的差别(diff命令)

10.2.7推测文件的类型(file命令)

10.2.8查找文件(find命令)

10.2.9改变文件的属主(chown命令)

10.2.10改变文件的存取方式(chmod命令)

10.2.11设置文件创建方式屏蔽码(umask命令)

10.2.12存取DOS文件命令

10.3显示和打印命令

10.3.1回应命令行上的参数(echo命令)

10.3.2连接并显示文件(cat命令)

10.3.3分页显示(more命令和pg命令)

10.3.4显示文件的头部(head命令)和尾部(tail命令)

10.3.5打印文件(lp命令和lpr命令)

10.3.6查看打印作业状态(lpstat命令和lpq命令)

10.3.7取消一个打印作业(cancel命令和lprm命令)

10.3.8格式化打印文件(pr命令)

10.3.9卸出文件(od命令)

10.4过滤器

10.4.1正则表达式

10.4.2排序或合并文件(sort命令)

10.4.3抽取指定模式的行(grep命令)

10.4.4流编辑程序(sed命令)

10.4.5模式扫描和处理语言awk

10.4.6裁剪指定的列(cut命令)

10.4.7组合数据列(paste命令)

10.4.8翻译输入流(tr命令)

10.4.9建立“三通”(tee命令)

10.5设备操作

10.5.1显示或设置日期和时间(date命令)

10.5.2显示磁盘空间(df命令)

10.5.3显示磁盘使用情况(du命令)

10.5.4显示或设置终端参数(stty命令)

10.5.5磁带归档(tar命令)

10.5.6转储文件(cpio命令)

10.6用户信息与进程控制

10.6.1获取用户信息

10.6.2显示进程状态(ps命令)

10.6.3挂起一段时间(sleep命令)

10.6.4统计一个作业的执行时间(time命令)

10.6.5等待进程完成(wait命令)

10.6.6杀死一个进程(kill命令)

10.6.7忽略挂起和退出方法执行(nohup命令)

10.6.8设置命令的执行环境(env命令)

10.7压缩和解压缩

10.7.1compress

10.7.2zip

10.7.3gzip

10.7.4pack

10.8其他命令

10.8.1联机手册(man命令)

10.8.2检查拼写错误(spell命令)

10.8.3文件加密crypt命令和des命令

10.8.4规范化C程序格式(cb命令)

习题10

第11章软件开发工具

11.1文本编辑器vi

11.1.1vi概要

11.1.2屏幕编辑命令

11.1.3底行命令

11.1.4在vi程序中执行Shell命令

11.2C编译系统

11.2.1C编译基本过程

11.2.2预处理程序

11.2.3编译程序

11.2.4汇编程序

11.2.5连接装入程序

11.2.6一个使用cc的综合例子

11.3库的维护

11.3.1库的概念

11.3.2库的维护

11.3.3动态库

11.4维护程序的程序Make

11.4.1Make使用初步

11.4.2Make的内部规则

11.4.3Make中的宏

11.4.4用Make维护库

11.4.5一个综合例子

11.4.6Make命令选项和参数

11.5调试程序

11.5.1调用sdb

11.5.2sdb的调试命令

11.5.3删除调试信息strip

11.6源代码控制系统(SCCS)

11.6.1创建SCCS的初始版本

11.6.2提取一个版本

11.6.3建立一个新版本

11.6.4显示SCCS文件的历史

11.6.5SCCS的版本号结构

11.6.6ID关键字

11.6.7其他的SCCS的命令

11.7其他的软件开发工具

11.7.1C程序检查器Lint 

11.7.2词法分析器和语法分析器 

习题11 

第12章UNIX与计算机通信

12.1检查计算机的连接情况 

12.2获取远程用户信息 

12.2.1显示谁在本地机登录rwho 

12.2.2显示远程用户的信息 

12.2.3用户名目录服务whois

12.3用户间通话

12.3.1给用户发信息write 

12.3.2广播式的消息传送工具wall 

12.3.3远程用户对话talk

12.4电子邮件系统mail

12.4.1电子邮件的组成 

12.4.2发送邮件 

12.4.3波浪号转义符 

12.4.4阅读和处理信件

12.4.5转发邮件 

12.4.6其他的邮件通知方法 

12.4.7定制mail环境 

12.5远程登录和执行 

12.5.1基于UNIX系统的远程登录rlogin 

12.5.2通用的远程登录telnet 

12.5.3远程shell rsh 

12.6远程文件拷贝和传输

12.6.1远程文件拷贝rcp 

12.6.2文件传输ftp 

12.7文档浏览与检索 

12.7.1文档标题浏览与搜索Gopher 

12.7.2文档内容搜索

12.8环球网WWW和浏览器 

12.8.1超文本和超媒体

12.8.2超文本传输协议HTTP 

12.8.3统一资源定位器URL

12.8.4超文本标记语言HTML

12.8.5FORM与CGI 

12.8.6Java及Javascript

12.8.7WWW的浏览程序 

习题12

第13章UNIX系统程序设计 

13.1文件系统程序设计 

13.1.1获取文件的状态

13.1.2搜索目录树 

13.2用文件的系统调用实现进程通信

13.2.1利用文件的系统调用实现信号灯 

13.2.2利用管道实现进程间通信 

13.3高级进程间通信

13.3.1消息通信 

13.3.2共享内存 

13.3.3信号灯 

13.4远程进程间通信

13.4.1Socket通信概述 

13.4.2Scoket 系统调用

13.4.3Socket通信程序设计 

13.5一个系统程序综合设计的例子

习题13 

第14章X窗口系统 

14.1X窗口系统简介 

14.1.1什么是X窗口 

14.1.2X窗口系统的概念核心和思路 

14.13X的组成

14.2X编程入门 

14.2.1建立与X服务器的连接 

14.2.2关闭与X服务器的连接 

14.2.3创建窗口并显示在屏幕上

14.2.4测试程序

14.2.5编译连接

14.3图形绘制

14.4X工具箱 

习题14

第15章Shell程序设计 

15.1Shell程序和参数

15.1.1Shell程序

15.1.2Shell程序的位置参数

15.2Shell变量

15.2.1用户定义变量

15.2.2系统定义变量

15.2.3Shell定义变量 

15.2.4参数替换

15.2.5引号机制 

15.3测试和求值 

15.3.1测试

15.3.2求值

15.4控制结构 

15.4.1顺序控制结构 

15.4.2if 语句 

15.4.3case语句 

15.4.4for语句 

15.4.5while和until语句 

15.4.6break、continue、exit和return语句 

15.4.7递归

15.5Shell内部命令 

15.6Shell函数 

15.7Shell环境 

15.8Linux 的BASH Shell

15.8.1命令编辑和历史 

15.8.2别名和特征变量 

15.8.3BASH Shell的环境文件

习题15 

第16章Windows 98和Windows NT应用程序的开发 

16.1Windows应用开发的基本环境 

16.1.1Windows应用程序基础 

16.1.2面向对象的程序设计方法 

16.1.3Visual C++编程环境

16.2Windows基本用户界面开发

16.2.1框架应用程序的创建 

16.2.2资源文件的修改 

16.2.3类的修改 

16.3Windows操作系统核心编程基础 

16.3.1内存管理 

16.3.2进程控制 

16.4ActiveX编程基础 

16.4.1ActiveX基础

16.4.2ActiveX控件 

16.5小结 

习题16 

第三部分系统及网络管理篇

第17章UNIX系统管理 

17.1系统的启动和关闭 

17.1.1系统自举 

17.1.2系统的运行级 

17.1.3初始化程序执行的脚本inittab 

17.1.4系统初始化过程 

17.1.5系统的关闭

17.2用户管理 

17.2.1用户管理涉及的文件

17.2.2加入新用户的过程 

17.2.3添加用户命令useradd 

17.2.4删除用户的注册usedel 

17.3誊清(更新)系统缓冲区 

17.4检查和修复文件系统

17.5构造、安装和拆卸文件系统 

17.5.1建立特别文件mknod 

17.5.2构造文件系统mkfs 

17.5.3安装文件系统mount 

17.5.4拆卸一个文件系统umount 

17.6定时运行程序 

17.6.1在指定时刻运行shell程序at 

17.6.2时种精灵cron 

习题17 

第18章UNIX系统网络管理 

18.1配置TCP/IP 

18.1.1网络软件的安装 

18.1.2设置TCP/IP文件 

18.1.3设置监听程序

18.2网络服务监控进程 

18.3域名服务系统 

18.3.1域名服务 

18.3.2域名系统 

18.3.3域名解析

18.3.4逆向域名解析 

18.3.5DNS数据库 

18.3.6域名服务器的配置

18.4网络文件系统NFS

18.4.1NFS的概念和原理

18.4.2NFS服务器的设置

18.4.3NFS客户机的设置 

18.5电子邮政系统

18.5.1邮件信箱 

18.5.2电子邮政设置文件 

18.5.3sendmail的设置文件

18.5.4sendmail命令的参数 

18.6WWW服务器的配置 

18.6.1WWW服务 

18.6.2虚拟主机服务 

18.6.3代理服务器 

习题18 

第19章微机系统管理和联网技术

19.1DOS的启动过程和系统配置 

19.1.1MSDOS的启动过程 

19.1.2DOS的系统配置 

19.2Windows 98 的安装及配置 

19.2.1Windows 98的安装 

19.2.2Windows 98的配置 

19.3Windows NT的安装、配置及管理 

19.3.1Windows NT的安装

19.3.2Windows NT的配置 

19.3.3Windows NT的管理

19.4Windows 2000的安装、配置及管理 

19.4.1Windows 2000的安装

19.4.2Windows 2000的网络功能 

19.4.3Windows 2000的安全管理 

19.4.4高级管理功能

19.5Novell网的安装、联网及管理简介 

19.5.1Novell网络的组成 

19.5.2Netware386配置与安装 

19.5.3Novell网络应用环境的建立

习题19 

参考文献

第二部分 应用和开发篇

第三部分 系统和网络管理篇