本书主要内容包括: 操作系统概述、进程管理、用户界面管理、存储管理、文件管理, 设备管理、Linux网络及服务器配置等七大部分的内容。课程以LINUX操作系统为原型, 实例化相关内容, 在学习原理的同时也能一窥操作系统的实际应用。
前言
操作系统是计算机系统中较为重要的系统软件,在计算机学科的课程体系中占有重要的地位,是计算机及相关专业的一门基础必修课,也是计算机专业从业者必须掌握的知识。一本适用的教材对于操作系统的学习尤为重要。因此,作者在多年教学工作的基础上,结合Linux2.4内核相关内容编写了此书。
考虑到课程学习的有限课时数,我们对内容进行了精选,着重于操作系统基本概念、基本原理、实现策略、基本算法原理的阐述,力图从两个主线――操作系统的资源管理角度和面向用户的角度将操作系统内容组织成一个逻辑清晰的整体。
全书共分7章。从操作系统的资源管理角度分别介绍了相关软硬件资源管理的内容,并在其中引入Linux2.4相关的内容进行实例说明。
第1章概述介绍操作系统的基本知识、操作系统的历史与发展、操作系统的分类,简要介绍了计算机系统相关部件,并引入系统调用的概念,说明了操作系统的特征及发展趋势,并对Linux操作系统的产生及发展特征做了简要说明。
第2章进程控制介绍进程的概念,对进程控制、进程互斥、同步、通信、进程死锁、管程、线程的概念等问题进行了分析和讨论,并介绍了Linux进程控制、Linux进程通信的内容,设计了两次实验。
第3章处理机调度介绍作业的概念、作业与进程的关系、多级调度的概念、作业及进程调度算法、Linux进程调度等相关内容。
第4章存储管理介绍存储管理功能、单一连续存储管理、分区式管理、分页式管理、分段式管理、段页式管理、虚拟存储技术、Linux存储管理等知识。
第5章设备管理介绍设备管理概述、设备控制器、设备的数据传输控制方式、中断技术、缓冲技术、设备独立性、设备分配、SPOOLing技术等内容。
第6章文件系统介绍文件的基本概念、文件组织形式、文件存储空间管理方法、文件目录管理、文件操作、文件系统的层次模型、Linux文件系统概述等内容。
第7章Linux网络及服务器配置实例介绍Linux网络基础知识、网卡配置、Linux网络服务、samba服务器配置、DNS服务器配置、FTP服务器配置等相关内容。
本书主要由福建工程学院陈敏、许雪林、汤龙梅、王璇、杨海燕等教师合作编写,在本书的编写过程中参考了大量的相关技术资料及经典案例,吸取了许多宝贵经验,在此一并表示谢意!
由于编者水平有限,书中难免会有疏漏和不妥之处,希望读者批评指正。作者E-mail:chenmin@fjut.edu.cn。
编者
第2章进程控制
本章要点
*进程的概念。
*进程与程序间的区别。
*进程控制。
*原语。
*临界区、临界资源。
*进程互斥、进程同步、进程通信。
*信号量机制。
*LinuxIPC种类。
*Linux管道通信。
*Linux软中断通信。
*线程的概念。
*管程。
*死锁的概念。
学习目标
*理解并掌握进程的概念。
*理解进程与程序的区别。
*熟悉进程状态及转换。
*理解Linux进程状态及转换。
*理解并掌握进程控制块的概念。
*理解原语的概念。
*掌握临界区、临界资源的概念。
*理解并掌握进程互斥、进程同步的概念。
*理解并掌握信号量机制。
*理解排除死锁的三种方法。
*理解并掌握银行家算法。
*了解线程、管程的概念。
*理解并掌握Linux管道通信及软中断通信方式。
计算机开机后就一直在运行各种各样的程序,而操作系统的核心任务就是管理好这些程序,确保它们正确、高效地运行。如果任何时刻,计算机系统中只有一个程序,则该程序将独占计算机系统中的所有资源,整个程序的运行过程就非常简单,管理起来也很容易。为提高计算机系统中各种资源的利用率,现代操作系统都采用了多道程序设计技术,多道程序的创建都围绕着进程的概念。因此,操作系统的程序管理也就转变成了进程管理。
进程是操作系统最基础和最重要的概念。进程是执行中的程序,想要了解程序在系统中的执行情况,只有通过进程才能够了解其中的细节。进程涉及操作系统中的很多内容,因此通过进程的学习,可以了解操作系统内部的工作机制,对于操作系统设计者及学生来说,这是至关重要的。
进程是操作系统中最为抽象的概念之一。单CPU系统中程序是以并发方式执行的,对进程而言,这也就是将CPU虚拟成多个。这种抽象是现代计算机操作环境下的应用基础。本书内容是以单CPU环境作为实例。
……