概述
操作系统
定义:操作系统是控制管理计算机系统的硬件,分配调度资源的系统软件。
目标:方便性,有效性,可扩充性,开放性.。有效性:提高系统资源的利用率、提高系统的吞吐量
操作系统的作用
OS作为用户与计算机硬件系统之间的接口(命令接口、程序接口(系统调用))
Os作为计算机系统资源的管理者
Os实现了对计算机资源的抽象
操作系统的主要功能
处理机管理
存储管理
设备管理
文件管理
批处理系统阶段:
作业的三种状态 : 后备态、运行态、完成态
单通道批处理系统
一个作业紧跟一个作业,直至磁盘上所有作业完成。
缺点:系统资源得不到充分利用
多通道批处理系统(离不开:中断处理机):
优:资源利用率高
系统吞吐量高
缺:平均周转时间长
无交互能力
需要解决的问题(也是操作系统应该解决的问题)
问题:
- 内存分配和保护
- IO设备分配
- 文件组织和管理
- 作业管理
- 用户和系统的接口
- 处理机争用
单道批处理系统中,在某个时刻,内存中最多只能有一个进程。计算机的所有资源都只能被该进程访问。
多道批处理系统中,多个进程能够同时驻扎在内存中,并且进程们可以共享地使用计算机资源。
多用户分时系统:
分时操作系统:共享主机
特征:多路性,独立性,及时性,交互性
实时操作系统 :
特征:在接收到输入的数据之后,须严格地在规定的时间内完成处理。
举例:自动驾驶系统、无人机控制系统
传统的OS中具有处理机管理,存储器管理,设备管理和文件管理等基本功能
微内核OS结构
优点:提高了系统的可扩展性,增强了系统的可靠性,可移植性强,提供了对分布性系统的支持,融入了面对对象技术。
并发
并发性是指两个或多个事件在同一时间间隔内发生
>>>用户看起来是每个程序都在运行,实际上是每个程序都交替执行
并行
并行性是指两或多个事件在同一时刻发生
>>>多核CPU可以实现并行,一个cpu同一时刻只有一个程序在运行
进程(为什么需要)
- 进程是系统进行资源分配和调度的基本单位;
- 进程作为程序独立运行的载体保障程序正常执行;
- 进程的存在使得操作系统资源的利用率大幅提升。
-
程序顺序执行时的特征:顺序性,封闭性,可再现性
进程实体:PCB(进程控制块)+进程段+数据段
进程控制块(PCB):
用于描述和控制进程运行的通用数据结构,记录进程当前状态和控制进程运行的全部信息,
是进程存在的唯一标识。
进程的特征
动态性:进程最基本的特征
并发性:多个进程实体同存于内存中,抽象(没有建立pcb)是不能参与执行的
独立性:
异步性:
进程与程序
(1) 程序是静态的,不是并发的,并发执行的程序是不可控的,程序存储在硬盘.
(2) 进程是程序的一次执行,进程是动态的,进程存在于内存,
(3) 进程是可以并发执行的,进程独立与可控
进程(Process)与线程(Thread):
- 线程:操作系统进行**运行调度的最小单位**。
- 进程:系统进行**资源分配和调度的基本单位**。
- 一个进程可以有一个或多个线程;
- 线程包含在进程之中,是进程中实际运行工作的单位;
- 进程的线程共享进程资源;
- 一个进程可以并发多个线程,每个线程执行不同的任务。
进程的三种基本状态
就绪,执行,阻塞
进程的五种状态
就绪,执行,阻塞,创建状态,终止状态
进程的创建
(1)申请空白页PCB
(2)为新进程分配其运行所需的资源
(3)初始化进程控制块(PCB)
(4)如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。(为了执行更多进程,提升 内存空间)
信号量机制(整型信号量,记录型信号量)
设mutex为互斥信号量,其初始值为1,取值范围(-1,0,1)
当mutex为1时,表示两个进程都未进入需要互斥的临界区;
当mutex=0时,表示有一个进程进入的临界区运行,另一个必须等待,挂入阻塞队列;
当mutex为-1时,表示有一个进程正在的临界区运行,另外一个进程因等待而阻塞在信号量队列中,需要被当前已在临界区运行的进程退出时唤醒
进程调度
在分时系统中,最简单也是叫常见的是基于时间的轮转调度算法
死锁
定义:并发的进程只占用一部分运行所需的资源且互相等待对方释放资源且不释放自己的资源
从而造成进程们都无法向前推进的状态
必要条件
(1)互斥条件
(2)请求和保持条件
(3)不可抢占条件
(4)循环等待条件
处理方法
(1)预防死锁
(2)避免死锁
(3)检测死锁
(4)解除死锁
预防死锁
破坏必要条件后三个,其中一个能够保证“循环等待”条件不成立的方法是,对系统所有资源进行线性排序,并赋予不同序号。
当系统处于安全状态时,可避免发生死锁,反之系统处于不安全状态时,则可能进入到死锁
如果按照某个执行序列执行时,所有进程都能顺利完成,则称系统处于安全状态
如果系统不存在任何一个能够确保所有进程都执行完毕的执行序列。则称系统处于不安全状态
程序的装入
1.绝对装入方式
2.可重定位装入方式:把虚拟地址转化为实际地址
3.动态运行的装入方式
存储器管理 对换
系统把所有的用户作业存放在磁盘上,每次只能调入一个作业进入内存,当该作业的一个时间片用完时,将它调至外存的后备队列上等待,在从后备队列上将另一个作业调入内存
输入输出系统-设备驱动程序
设备处理程序通常设为 设备驱动程序
SpooLing假脱机系统的特点
(1)提高了I/O的速度
(2)将独占的设备造成共享设备
(3)实现了寻设备功能
>>>内存是以页、段为单位来工作的
>>>硬盘是以块为单位来工作
文件管理
系统是通过FCB来识一个文件的(FCB文件控制块)
数据项
- 基本数据项
- 组合数据项(若干个数据项组成)
虚拟存储器:运行进程时,通过部分加载和置换,使得用户感觉使用的内存比实际的内存大。
部分加载:加载程序时,只将 很快会用到的部分装入内存,暂时不用的留在外存(磁盘)。
程序运行过程中,如发现要访问的函数或数据不在内存而在磁盘上,则由操作系统 将所需的内容从磁盘调入内存。
置换:当进程分得的内存用完时,操作系统将内存中暂时不用的函数或数据换出到外存,然后换入要用的函数或数据。
优点:扩展了逻辑内存容量。
缺点:置换会产生额外的时间开销
求绝对地址
三个内存块 页面:7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
求平均周转
六 Linux命令
48 获取帮助信息的命令是什么? 答:man 命令名
49 root用户的init 5命令的作用是什么? 答: 切换到多用户状态、以图形界面登录
50 vi编辑器的 删除从当前位置开始连续的5行 的命令是? 答:5dd
51查找 /home目录下所有以 Z开头的文件的linux命令是? 答:find /home -name “Z*”
52查看文件x的最后k行内容的 命令是? 答:tail -k x
53为文件hello.c的同组用户添加修改权限的linux 命令是? 答:chmod g+w hello.c
54显示/home中的所有文件的详细信息的linux命令是? 答:ls -l /home
55查看文件 hello.c的最后15行的linux命令是? 答:tail -15 hello.c
56 linux中,添加名为zhangsan的用户,命令是? 答:useradd zhangsan
为了让 zhangsan用户生效, 应使用 ()命令为 zhangsan设置口令 答:passwd zhangsan
57 在vim编辑器中,使用 ()键 从插入模式 变成命令模式? 答:esc
最后
以上就是风中白开水为你收集整理的操作系统期末复习六 Linux命令的全部内容,希望文章能够帮你解决操作系统期末复习六 Linux命令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复