第一讲 操作系统引论
1.1什么是操作系统
1.计算机系统=硬件+软件
·硬件:物理装置本身,如:CPU 内存 硬盘 终端设备 打印机
·软件:执行的程序,UNIX(分时) WindowsNT DOS Word Linux Oracle
分类:应用 支撑(工具)[开发、测试] 系统
2.OS——Operating Systems
·定义:操作系统是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合),是用户和计算机之间的唯一接口。
1.2 操作系统的功能
五大功能:存储器管理、处理器管理、设备管理、文件管理、用户接口
1. 存储器管理:·内存分配·地址映射·内存保护·内存扩充(虚拟内存)·
2. 处理机管理:·作业(用户定义的由计算机完成的工作单位)调度·进程调度·进程控制·进程通信·
3. 设备管理:·缓冲区管理·设备分配·设备驱动·设备无关性·
4. 文件管理:·文件存储空间管理·文件操作·目录管理·读写管理和存取控制·
5. 用户接口:·命令界面·程序界面·图形界面·
1.3 操作系统的特点
并发:指两个或多个活动在同一给定时间间隔中进行(不同于并行)
共享:计算机系统中的资源被多个任务所共用
·同时访问:宏观上同时访问磁盘、使用CPU
·互斥访问:没有固定的时间关系,程序执行不可预计
异步
1.4 操作系统的类型
·批处理系统·分时系统·实时系统·个人机系统·网络操作系统·分布式操作系统·
批处理系统(交互性差):单道批处理系统(同一时间只运行一个作业)、多道批处理系统(特点:多道、成批)
分时系统:[分时:若干并发程序对CPU时间的共享];特点:同时性、交互性、独立
性、及时性
实时系统:对于特定事件,系统能在很短时间内作出响应并完成事件处理工作(专用:过程控制、信息查询、事务处理);特点:专用、实时、高可靠
个人机系统(常用):单用户操作系统(DOS WindowsNT) 多用户操作系统(UNIX Linux);一般特征:使用管理方便、界面友好、价格低
网络操作系统:计算机网络=计算机技术+通信技术;特征:分布性、自治性、互联性、可见性
分布式操作系统:特征:分布式处理、模块化结构、利用信息通信、实施整体控制;特点:透明性、灵活性、可靠性、高性能、可扩充性
1.5 UNIX系统常用命令
1.UNIX系统简介:多用户多任务分时系统
2.UNIX命令提示符:$普通用户 #root用户(特权用户)
3.一般命令格式:命令名 [选项] [参数] 如:ls –l /usr
4.常用命令提示符:who[显示登陆的用户名、终端名、时间] who am I[显示当前登录的用户信息] date[显示当前时间] cal[显示日历(当前月及前后两月)] cal 8 2011[显示2011年8月的日历,如果只用一个参数代表年份]
第二讲 进程概念
2.1怎样理解进程概念
1.进程的引入
·程序顺序执行时的特征:顺序、封闭、可再现
·多道程序设计的特点:多个程序共享系统资源、多个程序并发执行
·程序并发执行时的特征:失去封闭性、程序与计算不再一一对应、出现相互制约关系
·引入进程概念
2.进程的定义:程序在并发环境[多道环境]中的执行过程[动态性]
3.进程和程序的比较
·进程是动态的,程序是静态的
·进程具有并发性,程序本身具有顺序性,程序的并发执行是通过进程实现的
·进程具有独立性,是能独立运行的单位,是系统资源分配的基本单位,是运行调度的基本单位
·二者无一一对应关系,一个程序可由多个进程共用,一个进程可顺序执行多个程序
·进程是异步运行的会相互制约,而程序不具备此特征
·程序和进程是两个完全不同的概念,两者又存在密切的联系
4.进程的特征:动态性、并发性、调度性、异步性、结构性[反应进程的各种状态]
5.进程的组成:进程控制块(PCB)[状态信息]、程序、数据集合
·进程与PCB的关系:每个进程有唯一的PCB;OS依据PCB管理进程;利用PCB实现进程的动态、并发;PCB是进程存在的唯一标志
2.2 进程的状态及其转换
·进程的动态性由它的状态和转换体现·进程的状态信息存在于PCB·进程的转换在一定条件下实现·
1.进程的基本状态:运行态[在CPU上执行]、就绪态[就差CPU]、阻塞态[等待事件,无法运行]
2.进程状态的转换:进程之间的状态转换并非都是可逆的、并非都是主动的、进程在运行态才是真正运行
2.3进程的同步与互斥
1.进程活动中会相互制约:所有进程均相互独立、以异步方式并发执行
2.同步:进程间共同完成一项任务时直接发生相互作用的关系(同步进程间具有合作关系,在执行时间上须按照一定顺序协调进行)
3.互斥:并发执行的多个进程由于竞争同一资源而产生的相互排斥的关系(互斥进程彼此在逻辑上是完全无关的、它们的运行不具有时间次序的特征)
2.4 临界资源和临界区
1.临界资源:一次仅允许一个进程所使用的共享资源,如,打印机、磁带机、表格……
2.临界区(Critical Section):在每个进程中访问临界资源的那段程序(CS区)
3.进入临界区的准则:·单一进入·独自占用·尽快退出·等则让权[CPU的使用权]·
第三讲 进程同步机制
3.1 信号量和P、V操作
1.信号量:是一种数据结构,构成中的数值若为正表示当前可用资源个数,若为负表示有多少个进程等待使用资源(一般说来,信号量的值与相应资源的使用情况有关;信号量的初值设定;信号量的值仅由P、V操作来改变)
2.P操作(wait操作)原语:原语是机器指令的延伸,往往是为了完成某些特定功能而编制的一段系统程序,其操作具有不可分割性[不能被打断]
3.V操作(signal操作)原语
4.P操作申请一个单位资源,V操作释放一个单位资源
3.2 同步机制的应用
1.用P、V原语实现互斥:对打印机分配表互斥使用问题(分配及释放);mutex信号量初值设为1;在每个进程中,P(mutex)和V(mutex)必须成对出现,先P后V
2.用P、V原语实现简单同步:供者和用者同步使用缓冲区的问题;信号量设置:两个变量S1—缓冲区是否为空,初值为1、S2—缓冲区是否未满,初值为0;确定彼此关系和信号量种类;设定信号量初值;同一信号量的P、V操作要成对出现,但分别在不同的进程代码中
3.3 典型事例分析[P、V操作位于缓冲区两侧,必同时出现]
1.信号量的设置:full—满缓冲区的数量,初值为0;empty—空缓冲区数量,初值为N;mutex—互斥信号量,初值为1
3.4 UNIX进程管理命令:如ps,显示系统中所用活动进程状态
第四讲 处理机管理
4.1 调度的类型及其功能
1.调度(CPU调度是OS中最核心调度):选出待分派的作业或进程;处理机调度主要目的就是分配处理机
2.调度分类:·高级调度(作业调度)·中级调度(存储兑换)·低级调度(进程调度)·
3.作业调度:
·作业状态:提交、后备、执行、完成
·作业调度功能:记录系统中各作业情况;从后备作业中选择作业;为选中作业分配资源;建立相应进程;作业结束后作善后处理
4.进程调度[必不可少]:
·主要功能:保存让权进程的现场;择优选出一个就绪进程;为选中进程恢复现场,令其投入运行
·作业调度和进程调度的区别:作业调度是宏观调度,进程调度是微观调度;前者为进程的活动做准备,后者使进程真正活动起来
5.中级调度功能:根据内存的使用情况,完成进程的换出或换入
4.2 调度的性能评价
常用评价准则:·CPU利用率·吞吐量·周转时间·响应时间·就绪队列的等待时间·
·吞吐量:单位时间内CPU完成作业的数量
·周转时间:
作业周转时间:作业提交到完成的时间间隔
平均周转时间:所有作业周转时间的平均值
带权周转时间:作业的周转时间与其实际运行时间的比值
·响应时间:提交第一个请求到产生第一个响应(只是响应)所用的时间
4.3 常用调度算法
1.先来先服务法[FCFS]:依次排队[串行];特征:较利于长作业或进程、利于占CPU时间长的作业、容易实现,但效率较低
2.时间片轮转法[RR]:轮流坐庄;应用:主要用于分时系统进程调度
时间片:是一个小的时间单位,ms量级;它的大小对于时间片轮转法影响很大
确定时间片长短:根据系统的响应时间、就绪队列进程数目、进程的转换时间、CPU运行指令速度
3.优先级法:急事先办;处理方式:非抢占式优先级法(干完让位)、抢占式优先级法(来到就抢)
确定优先级:·静态方式·动态方式·
·静态优先级:创建进程时就确定不变;优先级与优先数;易于实现,系统开销小,但
会出现进程“饿死”问题[级别低会被憋死]
·动态优先级:随进程的推进而不断改变;可实现“负反馈”作用
4.其他调度算法:·短作业优先法·最短剩余时间优先法·多级队列法·多级反馈队列法·
第五讲 shell执行和存储器管理概念
5.1 shell命令执行过程
1.UNIX命令示例:$ ls -l /usr/meng:以长列表格式将meng目录下的文件列出来
·shell是用户与操作系统之间的界面
·shell命令语言解释程序以用户态方式运行,不属于操作系统的内核部分
·它解释并执行用户输入的命令
2.shell命令解释程序工作过程
基本执行过程:读命令、判对错、建子进程、等待完成(命令行末尾有&符号表示后台操作)、子进程运行、子进程(执行进程)终止、父进程(解释进程)运行、发提示符$(再输入命令行)
5.2 存储器管理功能
1.内存分配:为每个内存分配一定的内存空间(记录内存情况、处理用户申请、实施策略分配、回收释放空间)
2.地址映射:把程序中所用的相对地址转换成内存的物理地址
3.内存保护:检查地址合法性、防止越界访问
4.内存扩充:解决求大于供的问题、采用虚拟存储技术
5.3 有关地址的几个概念
1.存储器的层次:高速缓存、内存、外存
2.用户程序的主要处理阶段:
·源程序:用高级语言或汇编语言编写的程序
·用户程序的主要处理阶段:编辑阶段(建立源程序)、编译阶段(产生目标代码)、连接阶段、装入阶段(放入内存)、运行阶段
3.有关概念:
·源文件:存放源程序的文件
·目标代码:处理机能识别的二进制代码
·连接:将编译或汇编后得到的一组目标模块以及他们所需的库函数装配成一个完整的装入模块的过程
·相对地址(逻辑地址):用户程序编译之后的每个目标模块都以0为基地址顺序编址
·绝对地址(物理地址):内存中各物理存储单元的地址是从统一的基地址顺序编址
·逻辑地址空间(地址空间):由程序中逻辑地址组成的地址范围
·内存空间(物理空间、绝对空间):由内存中一系列存储单元所限定的地址范围
·重定位:把逻辑地址转变成内存的物理地址的过程
·重定位类型:
静态重定位:是在目标程序装入内存时,由装入程序对目标程序指令和数据的地址进行修改,即把程序的逻辑地址都改为实际的内存地址;装入时一次完成
动态重定位:在程序执行期间每次访问内存之前进行重定位;装入过程中代码不发生变化
5.4 虚拟存储器概念
1.问题引入:内存不够用;作业全部装入造成内存浪费;程序执行具有局部性规律
2.虚拟存储器:由操作系统提供的一个假象的特大存储器
3.实现虚存技术的物质基础:二级存储结构(内存+外存);动态地址转换机构(DAT)
4.虚存的基本特征:·虚拟扩充(逻辑上)·部分装入·离散分配(不必占用连续内存空间)·多次兑换(所需全部程序和数据分多次调入内存)·
5.虚存的限制:·指令中表示地址的字长·外存的容量·
第六讲 存储器管理
6.1 分页和分段的概念
1.分页:分页管理是解决内存碎片的一种有效方式
·逻辑空间分页:页面—大小相等由硬件确定,大小一般选为2的若干次幂
·内存空间分块:内存块—大小与页面相同
·页与块同样大·叶连续块离散·用页号查页表·由硬件做转换·
简单分页系统并未提供虚存
2.分段:段是一种逻辑信息的集合;段名、段号、各段长度不等
·地址结构:段号s+段内地址d
·内存分配:以段为单位分配、每段各占一块内存区、各段可离散的放入内存
3.分页和分段的区别
·页:信息的物理单位、大小一样由系统确定、地址空间一维
·段:信息的逻辑单位、大小不同由用户确定、地址空间二维
6.2 请求分页的基本思想:分页+请求
·地址空间分页,内存分块,页与块大小相同
·作业部分装入内存(允许虚存)
·作业所占各块不连续
·硬件通过页表生成访内地址
·若缺页,进行缺页中断处理,换入内存(页表项中的状态位指示该页面是否在内存,不在则产生一个缺页中断)
·利用快表加速地址转换(快表:TLB、联想寄存器)
·TLB:速度快、成本高、容量小
·整个系统有一个存储分块表,记录整个内存的使用情况
6.3 常用页面置换算法
1.页面置换:把一个页面从内存调换到磁盘的对换区中;抖动:在具有虚存的计算机中,由于频繁的调页活动使访问磁盘的次数过多而引起系统效率降低的一种现象
2.常用页面置换算法
·先进先出法(FIFO):先进入内存的页先被换出内存
·最佳置换法(OPT):选择不使用或长时间不使用的页调换出去
·最近最少使用置换法(LRU):选择最近一段时间内最久没用过的页调换
·最近未使用置换法(NUR):选择最近一段时间内未被访问过的页调换,LRU的近似算法
第七讲 文件系统(一)
7.1 什么是文件、文件系统
1.文件:是被命名的数据集合体
·通常存放在外存上·可作为一个独立单位被操作·有自己的属性·
·文件类型:UNIX和MS—DOS系统中分普通文件(程序、数据、正文的字符串构成:ASCII文件、二进制文件)、目录文件(下属文件的目录项构成的文件)、特别文件(各种外部设备)
2.文件系统:操作系统中负责操纵和管理文件的一整套设施,它实现的文件的共享和保护,方便用户“按名存取”
·功能:文件管理、目录管理、文件存储空间管理、文件共享和保护、提供方便的接口
·看待文件系统的观点:用户观点、系统观点
7.2 文件的存储结构
·涉及文件在存储设备上如何放置
·取决于存储设备物理特性,又与文件存储方法密切相关
·从逻辑上看所有文件都是连续的,但在存储介质上却不一定
·几种基本的文件存储结构:
连续文件:速度快,不便于动态扩充,可能出现外部碎片,适于存放系统文件
串连文件:磁盘利用率较高,便于动态扩充,不利于随机存取
索引文件:速度快、便于扩充、便于随机读取,索引表占用较多内存
多重索引文件:影响速度,用于UNIX文件系统
7.3 文件目录与目录结构
1.文件控制块:对文件控制管理的数据结构,每个文件有唯一文件控制块
·组成:文件名、文件类型、位置、大小、保护信息、使用计数、时间信息
2.文件目录:文件控制块的有序集合
·文件控制块是目录项,由目录项构成的文件成为目录文件,简称目录
·文件目录实现文件名与其存储盘块之间的映射
3.目录结构:
·单级目录结构:所有目录项在一个目录下
·二级目录结构:一个主文件目录加上多个用户文件目录
·树形目录结构:多级目录结构
路径名:绝对路径名[从根目录开始]、相对路径名[从当前目录开始]
·非循环图目录结构:带链接的树形目录,访问同一文件(或目录)可有多条路径
链接:允许一个文件或目录登记在多个父目录中
7.4 文件存储空间的管理
常用的磁盘空闲区管理技术:
·空闲空间表法:所有连续的空闲盘块在空闲空间表中占据一项
·空闲块链接法:所有空闲盘块链接在一个队列中
·位示图法:用1和0表示磁盘存储状态
·成组链接法:把所有空闲盘块按固定数量分组,组与组之间形成连接关系
第八讲 文件系统(二)
8.1 文件的共享和安全保护
1.文件的共享:系统允许多个用户(进程)共同使用某个或某些文件
·方式:文件链接[给文件起别名,增加共享途径]
2.文件的安全与保护
·文件保护:指文件免遭由于文件主或者其他用户的错误操作而造成的破坏
·文件保密:未经文件主受权的用户不得访问该文件[规定权限],保护机制通过限制文件存取的类型实现受控共享
·常用的保护机制:
命名:拥护只能存取自己建立的文件(自己的文件名不让他人知道)
口令:每个文件都带有口令,对上口令才能使用
密码:信息加密存储,经解密后复原
存取控制:根据用户身份为他们规定不同的文件件存取权限,可以为每个文件或目录设一个存取控制表,有权才可存取,不同权限干不同的事
UNIX的存取控制方式:用户分三类[文件主、同组用户、其他用户];存取权限分三种[读r、写w、执行x(对普通文件可以执行,对目录文件有检索权限)]
·文件系统的安全措施:文件的后备[全量转储、增量(哪里修改转储哪里)转储]和恢复
8.2 UNIX文件及其分类
1.UNIX文件:
·后缀:.c—c源文件 .C—c++源文件 .h—前导(头)文件 .s—汇编程序文件 .o—目标文件
·分类:普通文件[标志-]、目录文件[标志d]、特别文件[块特别文件b,字符特别文件c]
2.UNIX目录结构:带链接的树形目录结构[非循环图目录结构]
8.3 文件和目录主要操作命令[UNIX]
·cat显示或者连接文件(cat ex1显示ex1文件内容;cat ex1 ex2 > at1将ex1与ex2连接起来放在at1)
·more逐屏显示文件[more ex1逐屏显示ex1;按Enter增加一行,Space换页]
·head显示文件前面几行[默认十行;head ex1];tair显示文件最后部分[十行]
·pr在标准输出设备上显示文件[pr ex1|head向屏幕输出ex1的开头]
·cp复制文件[cp ex1 ta1将ex1拷贝(copy)到了ta1]
·mv移动(move)或重命名文件或目录[mv ex2 ml将ex2内容移到ml,相当于重命名]
·rm删除(remove)文件或目录[rm ml]
·ls输出目录[ls输出当前目录 ls /usr输出usr里文件]、lc、l、lf…;ls –l长列表显示:类型、权限、链接数、文件主、同组用户、大小、建立时间、文件名;ls –C以多列形式显示
·mkdir建立相应子目录(新建文件夹)[mkdir mm](ls –l长列表显示,开头d表示目录文件)
·cd将工作目录移动[cd mm进入mm文件夹;cd返回上一层目录]
·rmdir删除子目录[cd rmdir mm删除mm文件夹(子目录)]
·pwd显示当前工作目录
·chmod修改权限(符号方式、绝对方式)[对象:a所有用户,g同组,u文件主,o其他;操作:+添加,-取消,=赋予;chmod a+x ex2][chmod 7668 ex2]
·| 管道命令[cat ex2|more将前一个进程通过管道送给第二个进程
第九讲 设备管理
9.1 设备管理功能
1.监视设备状态:记住所有设备、控制器和通道的状态
2.进行设备分配:
·按照设备类型(独占、共享、虚拟)和系统所用分配算法,实施设备分配
·由设备分配程序(I/O调度程序)完成
3.完成I/O操作:
·系统调用设备驱动程序·后者启动设备,进行I/O操作·处理来自设备的中断·
4.缓冲管理与地址转换
·系统对缓冲区进行管理·将程序中的逻辑设备转换成逻辑设备的地址,实现设备无关性·
9.2 缓冲技术
1.引入缓冲的目的:
·CPU与外设之间速度不匹配·提高CPU和外设之间的并行性·减少对CPU的中断次数·
2.缓冲区的设置
·单缓冲:数据到达率与离去率相差很大·双缓冲:信息的输入和输出速率相同或相近
·多缓冲:数据的输入输出具有阵发性(组成公用缓冲池)
9.3 设备分配技术
1.与设备分配相关的因素:
·I/O设备的固有属性·系统采用的分配算法·防止死锁的发生·设备无关性·
2.设备分类:按使用性质
·独占设备:一段时间内该设备只允许一个进程独占
·共享设备:可由若干个进程同时共享的设备
·虚拟设备:把独占设备改造成感觉上可共享的设备
3.设备分配技术
·独占分配:把独占设备固定的分配给一个进程,直到它完成I/O操作并释放该设备为止
·共享分配:将共享设备分配给多个进程使用(系统调度各进程的访问次序)
·虚拟分配:利用共享设备模拟独占设备,从而由多个进程共用
4.SPOOLing系统(最有名的实现虚拟分配的技术)
·它将独占设备改造为共享设备,实现虚拟设备功能
·由专门负责I/O的常驻内存(系统进程)的进程以及输入井、输出井(硬盘划出的空间)组成
·工作模块上分为四部分:存输入、取输入、存输出、取输出
9.4 I/O处理过程
·用户进程发出I/O请求:I/O库函数—I/O系统调用
·转去执行操作系统的核心程序:文件操作—调用设备驱动程序
·设备驱动程序工作:接受来自上层、与设备无关软件的抽象请求;分配相应的设备;启动该设备工作
·I/O完成后,产生中断信号:相应的中断处理程序调用设备驱动程序处理下面的I/O请求
9.5 打印机安装步骤
1.配置端口(串口或并口):串行打印机使用串口,并行打印机用并口
·并口配置:以root身份登录·缆线连接·端口选配·重新连接核心·重启系统·
2.添加打印机:为了使用打印作业队列管理功能
3.验证连接:#date>/dev/lp0 DOS命令:cal 2011 > dev/lp0
4.打印机配置:
·打印机接口(脚本)程序,用于对打印机进行初始化
·打印机类型,打印机的类属名字
·打印内容的类型,可打印文件的类型
·连接方法,直接相连或非直接相连
第十讲 中断处理
10.1 一般中断处理过程
1.中断的概念:·中断:CPU对系统发生的事件作出的一种反应·中断源·中断请求·断点·
2.中断的一般处理过程:
·中断响应—硬件实施:终止当前程序的进行;保存断点信息(pc、ps两个寄存器的值);转到相应处理程序
·中断处理—软件实施:保存现场;分析原因;处理中断;中断返回
10.2 系统调用简要实现过程
1.系统调用:
·是操作系统内核与用户程序、应用程序之间的接口
·UNIX系统中,系统调用以C函数形式出现
·所有内核之外的程序都必须经由系统调用才能获得操作系统的服务
·不能作为命令使用
2.系统调用的接口:
·系统调用对应的汇编代码形式:trap XX(系统调用编号) 参数……
·当处理机执行到trap指令时,即从用户态变为核心态
·由编号XX去查系统调用入口表,然后转处理程序
3.系统调用实施过程
·源程序语句rw[写入字节数]=write(fd[文件描述字],buf[用户信息始址],count[传送字节数])
·工作过程:
① 执行到trap 4指令时,产生陷入事件(处理机由用户态变为核心态)
② 查系统调用入口表,转去执行相应处理程序
③ 转入文件系统管理
④ 启动设备驱动程序:A进程等待I/O完成,让出CPU,睡眠
⑤ 执行进程调度:如选中进程B;在CPU上运行
⑥ 产生盘I/O中断:磁盘中断处理;唤醒进程A
⑦ 若A比B优先级高,就会执行进程调度程序:选中进程A,为A恢复现场,执行
第十一讲 死锁
11.1 死锁概念
1.定义:多个进程循环等待他方占有的资源而无限期地僵持下去的局面
2.产生死锁的根本原因:资源有限且操作不当
11.2 死锁产生的必要条件(必须同时具备)
·互斥条件:资源独占 ·不可抢占条件:不能强行抢夺对方资源
·占有且申请条件:资源分配并非一次到位 ·循环等待条件:构成环路
11.3 处理死锁的对策
1.死锁的预防:打破必要条件中的一条或几条
·策略:资源预先分配(打破占有申请)、资源有序分配(打破循环等待)
2.死锁的避免:排除死锁的动态策略,在资源分配过程中,预测有发生的可能性则加以避免
·银行家算法:为每个进程分配资源之前,先判断系统是否安全,若是才分配
3.检测与恢复:分配资源不限制,有专门机构检测死锁的位置和原因,能使系统从其
中恢复
11.4 资源分配图
环路与死锁:·无环路无死锁·死锁有环路·有环路不一定死锁(若资源只有一个必死锁)·
第十二讲 现代操作系统技术
12.1 微内核概念及其结构
1.微内核概念:是操作系统的小核心,它将各种操作系统共同需要的核心功能提炼出来,形成微内核的基本功能
2.微内核操作系统:内核在核心态下运行,客户/服务器进程在用户态下运行
·服务器:除内核以外操作系统的其他部分都被分成了若干个相对独立的进程,每个进程完成一组服务,成为服务器进程,简称服务器
·客户:可以是一个用户,一个应用程序,或者一个服务器进程
·客户和服务器之间通过发消息(经内核传递)的方法进行通信
·微内核对全系统的各种通信起着交通警察的作用
3.微内核结构的特点:
·精简核心功能·可移植性好·可伸缩性好·实时性好·提供多线程机制·系统安全性好·
12.2 线程
1.线程概念:进程中执行运算的最小单位,执行处理机调度的最小单位
·每个线程严格按照顺序执行
2.线程组成:每个线程有一个thread结构
3.引入线程的好处:易于调度·提高并发性·开销少·利于发挥多处理器功能
4.进程与线程的关系:
·一个线程只能属于一个进程,一个进程可以有多个(至少一个)线程
·资源分配给进程,同一进程的所有线程共享该进程所有资源
·处理机分配给线程(进程只是资源分配的单位,而线程才是调度运行的单位)
·线程执行过程中需要协作同步
12.3 网络操作系统
1.计算机网络:通过通信线路将地理上分散的自主计算机、终端等连接在一起,以达到数据通信与资源共享的计算机系统(计算机网络=计算机系统+通信系统)
2.网络操作系统(NOS):是使网络上各计算机能方便有效的共享网络资源,为网络用户提供各种服务的软件和通信协议的集合
3.功能:网络通信、资源管理、网络服务、网络管理
12.4 系统管理员的职责
1.三种用户:普通用户、操作员、系统管理员
2.管理员职责:设置整个计算机系统;文件或文件系统的后备和恢复;处理资源有限问题;排除系统通信阻塞;操作系统的升级和维护;为用户提供常规支持
第十三讲 系统安装和vi编辑器
13.1 UNIX系统安装
以SCO OpenServer Release 5系列产品为例介绍UNIX系统的安装过程
1.预备知识:
·硬件需求·硬件准备·制定安装计划·安装过程所用按键及其作用·
2.安装过程
3.启动和关闭UNIX系统:
·启动:Ctrl+D进入多用户系统;输入root口令进入单用户系统
·关闭:haltsys紧急关闭系统shutdown –g0立即关闭系统
13.2 vi编辑器使用
1.vi编辑器三种工作方式:命令方式、插入方式、ex转义方式
2.进入和退出vi
·进入:$ vi 文件名(要新建的文件)、vi
·退出:在vi命令方式下退出,命令[:wq写入文件退出 :x :ZZ :q!强行退出不保存]
3.文本插入:按Esc回到命令方式下
·插入命令:i—插在光标位置之前 I—插在行首
·附加命令:a—插在原光标位置之后 A—添加在行尾
·新行命令:o—光标所在行下方插一行 O—光标所在行上方插一行
4.命令方式下光标的移动
·利用方向键(10→:一次向右移动十个字符)
·利用命令:h(←),j(↓),k(↑),l(→)[8l:向右移八个字符]
·行首—0 行尾—$
5.文本修改:
·x—删除光标所在字符(5x:一次性删除五个字符)
·X—删除光标前面字符(8X:一次删除前面八个字符)
·dd—删除整行
·D—从光标位置删至行尾
6.复原命令:
·u—恢复前一条命令执行前状态
·U—恢复为编辑前状态
7.重复命令:(圆点)—重复执行刚才命令 ·
第十四讲 图形界面和系统维护
14.1 使用图形界面
·进入和退出桌面系统:Ctrl+Alt+F1/F2
14.2 建立用户账号
·建立新用户·建立新用户组·设置和修改用户口令·
14.3 进程管理
·ps命令:ps显示用户进程;ps –e(ps –e|more)显示系统所有进程(tty为?表示系统进程);ps –ef显示副进程,进程族系关系;ps –l;min(main) ps查看ps命令
·进程控制:&符号,bg、fg命令
第十五讲 简单shell编程
15.1 shell分类
·Bourne shell——sh(B shell)
·C shell——csh
·Korn shell——ksh(兼容B shell)
·Bourne again shell——bash(Linux)
15.2 脚本的建立和执行
1.脚本(script)建立:·被shell解释执行的命令文件·编辑建立脚本:$ vi ex1(例)·
2.执行方式·$ sh < 脚本名·$ sh 参数:脚本名·
3.将脚本当做命令执行:·更改脚本权限($ chmod a+x ex1)·执行脚本($ ex1/$ /usr/…/ex1)·
说明:要求该脚本所在目录应在命令搜索路径(由PATII表示)之内,否则应采取绝对路径
15.3 shell变量
1.用户定义的变量
·形式:变量名=字符串(=两端无空格,因为都当做字符串处理,没有精度、双精度…)
·使用变量的值:要在变量名前加一个$
·实例:$ myfile=/usr/…/m1.c mcho $myfile(显示变量的值)
2.read命令
·一般格式:read 变量1 [变量2…](从键盘读取数据)
·注意:从左至右依次赋值;变量少于数据,最后变量取余下所有值;变量多于数据取空串
3.位置参数
·位置参数:由在命令行上出现位置确定的参数
·表示形式:$0(命令名/shell脚本名) $1 $2 $3 … $9
4.特殊变量:·$#—位置参数个数不含$0·$?—最后一条命令的返回值·$*—所有位置参数·
5.环境变量:·HOME—用户注册主目录名·PATH—命令搜索路径·PSI—主提示符·SHELL—当前shell路径·LOGNAME—用户注册名·
15.4 shell中特殊字符
1.通配符:
*—匹配任意字符的零次或多次出现;?—匹配一个字符;[ ]—匹配其中给出的任一字符
2.引号:
·双引号—除$、倒引号和\\外,其余字符均作为普通字符对待
·单引号—所有字符都作为普通字符
·倒引号—所括起字符串作为命令行对待
3.输入输出重定向符
·输入重定向符一般形式:命令<文件名(从文件中取得输入数据)
·输出重定向符一般形式:命令>文件名(输出到文件中)
4.注释:以#开头的正文行,不解释执行
15.5 shell控制结构
1.if语句一般格式:if 条件 then 命令1 [else 命令2] fi
2.测试语句:
·test命令测试分类:文件测试、字符串测试、数值测试·test等价格式[ ]:[ -f $l ]=test –f $l·
3.while语句一般格式:while 条件 do 命令表 done
·测试条件可使用test命令,还可以是一组命令
4.for语句一般格式:for 变量 in 值表 do 命令表 done
因篇幅问题不能全部显示,请点此查看更多更全内容