操作系统简单总结

1、什么是进程(Process)和线程(Thread)?有何区别?
  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的
一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本
单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和
栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线
程,同一个进程中的多个线程之间可以并发执行。

2.虚拟内存
通常来说,内存大小不可能容纳下所有并发执行的进程。因此,交换(Swapping)技术应运而生。交换的基本
思想是,将闲置的进程交换出内存,暂存在硬盘中,待执行时再交换回内存。

外部碎片:在内存空间大小是固定的情况下,两个进程之间的空间由于太小无法另任何进程使用
内部碎片:但实际情况下,进程往往会动态增长,因此创建进程时分配的内存就是个问题了,如果分配多了,
会产生内部碎片,浪费了内存,而分配少了会造成内存溢出。

利用链表管理内存的情况下,创建进程时分配什么样的空闲空间:
(1)首次适配:从链表头开始找,第一次找到的足够大的空闲空间
(2)下次适配:类似首次适配,区别是当一次找到后,记录下位置,下次再找的时候,从这里开始
(3)最佳适配:在链表中便利,找出能够容纳下的最小空间
(4)最差适配:在链表中便利,找出能够容纳下的最大空间

虚拟内存的基本思想是,每个进程有用独立的逻辑地址空间,内存被分为大小相等的多个块,称为页(Page).
每个页都是一段连续的地址。对于进程来看,逻辑上貌似有很多内存空间,其中一部分对应物理内存上的一块
(称为页框,通常页和页框大小相等),还有一些没加载在内存中的对应在硬盘上

页面替换算法:
(1)最佳置换算法:最佳置换算法是将未来最久不使用的页替换出去,这听起来很简单,但是无法实现
(2)最近不常使用算法NRU:这种算法给每个页一个标志位,R表示最近被访问过,M表示被修改过。定期对R进行
清零。这个算法的思路是首先淘汰那些未被访问过R=0的页,其次是被访问过R=1,未
被修改过M=0的页,最后是R=1,M=1的页。
(3)先进先出页面置换算法
(4)改进型FIFO算法:这种算法是在FIFO的基础上,为了避免置换出经常使用的页,增加一个标志位R,如果
最近使用过将R置1,当页将会淘汰时,如果R为1,则不淘汰页,将R置0.而那些R=0的
页将被淘汰时,直接淘汰。这种算法避免了经常被使用的页被淘汰
(5)时钟替换算法:虽然改进型FIFO算法避免置换出常用的页,但由于需要经常移动页,效率并不高。因此在
改进型FIFO算法的基础上,将队列首位相连形成一个环路,当缺页中断产生时,从当前位
置开始找R=0的页,而所经过的R=1的页被置0,并不需要移动页
(6)最久未使用算法: LRU算法的思路是淘汰最近最长未使用的页。这种算法性能比较好,但实现起来比较困难。

进程:
互斥:进程的互斥(mutual exclusion )是解决进程间竞争关系( 间接制约关系) 的手段。 进程互斥指
若干个进程要使用同一共享资源时,任何时刻最多允许一个进程去使用,其他要使用该资源的进程必须
等待,直到占有资源的进程释放该资源。
同步:进程同步指两个以上进程基于某个条件来协调它们的活动。一个进程的执行依赖于另一个协作进程的消
息或信号,当一个进程没有得到来自于另一个进程的消息或信号时则
通信方式:
(1)信号量及其原语操作(PV、读写锁、管程)控制的共享存储区(shared memory )通信机制;
(2)管道(pipeline)提供的共享文件(shared file)通信机制
管道特点:
(1)管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;
(2)只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);
(3)单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不
属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。
(4)数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓
冲区的末尾,并且每次都是从缓冲区的头部读出数据

进程调度算法:
(1)先来先服务
(2)短作业优先
(3)高优先级调度:
非抢占式:先执行高优先级任务,直到执行完毕或者终止
抢占式:执行时,若来了优先级更高的任务怎会让出
(4)高响应比优先:优先级=(等待时间+服务时间)/服务时间
1.如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而该算法有利于短作业。
2.当要求服务的时间相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,因而它实
现的是先来先服务。
(5)时间片轮转

进程的状态转换:
一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多
次处于阻塞状态。
(1) 就绪→执行
处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。
(2) 执行→就绪
处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完或更高优先级的进程抢占而不得不让出
处理机,于是进程从执行状态转变成就绪状态。
(3) 执行→阻塞
正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。
(4) 阻塞→就绪
处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。
(5) 运行→终止
程序执行完毕,撤销而终止

死锁
概念:在两个或多个并发进程中,如果每个进程持有某种资源而又都等待别的进程释放它或它们现在保持着的
资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗地讲,就是两个或多个
进程被无限期地阻塞、相互等待的一种状态。

产生死锁的必要条件:必须4个都满足
(1)互斥(mutualexclusion),一个资源每次只能被一个进程使用;
(2)不可抢占(nopreemption),进程已获得的资源,在未使用完之前,不能强行剥夺;
(3)占有并等待(hold andwait),一个进程因请求资源而阻塞时,对已获得的资源保持不放;
(4)环形等待(circularwait),若干进程之间形成一种首尾相接的循环等待资源关系

处理死锁:
(1)忽略死锁,鸵鸟算法
(2)检测死锁并恢复:允许死锁发生,死锁发生时,检测并解决
检测:把资源转化为图,若果存在环则有死锁
解决:利用抢占,杀死年轻进程
(3)死锁避免:
银行家算法:再某一个时刻,判断对请当前求的满足是否会导致系统进入不拿券状态,若不会则予以分配
(4)破坏死锁发生条件

时间: 2024-08-15 10:01:44

操作系统简单总结的相关文章

3.操作系统简单介绍

操作系统 其实 操作系统并不是与计算机硬件一起诞生的 它是在人们使用计算机的过程中,为了管理硬件资源,提高性能提高资源利用率,而逐步地形成和完善起来的. 操作系统也是一种程序,负责管理系统资源 上电自检(经过BIOS)之后,处理器第一个要处理的程序 之所以叫做操作系统,其实就相当于它提供了一个工作台 让你可以更加方便的操作计算机的软硬件资源 是机器的一种封装,对于人机交互提供了统一的操作方式 自从第二代晶体管计算机之后,计算机的性能有了很大的提升 与之矛盾的自然是计算机手动输入速度慢 为了提供系

Linux操作系统简单认识

操作系统:是计算机系统的核心Linux是一套开放源代码程序的,并可以自由传播的类Unix操作系统,它是基于POSIX的多用户,多任务并且支持多线程和CPU的操作系统.Linux特点:是开放源代码程序软件,可自由修改Unix系统兼容,具备几乎所有Unix的优秀特性,可自由传播,无任何商业版制约.适合Inter等×86CPU系统架构的计算机.Linux的三大应用领域:1.IT服务器Linux系统应用领域(未来玩的)2.嵌入式Linux系统应用领域3.个人桌面Linux应用领域 原文地址:http:/

Xshell操作系统简单操作方法

mkdir +文件夹名   (新建目录) ls 文件浏览(使用ls命令列出文件列表的信息,默认情况下为当前目录下的所有文件,并按照字母顺序排列) file [选项]...[-f]文件..说明:显示指定文件的类型与编码格式. cd +想跳转到的目录下   (通过修改当前所在目录,跳转到另外一个目录下) 文件拷贝:cp /文件名.c/根目录下/ 文件移动:mv /a.c/program/   将用户根目下的文件"a.c"移动到该目录下的子目录"program"下. 用户

操作系统(计算机管理控制程序)

操作系统结合着计算机学科和管理学科. 操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行. 操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口.操作系统的功能包括管理计算机系统的硬件.软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软

Android发展简单介绍

Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件.眼下最好的是Android2.0的摩托罗拉Droid Android公司介绍 国家:美国 业务:手机软件,操作系统 成立于:2003年 创办人:Andy Rubin,Andy McFadden.Richard Miner Chris White 中文名:安卓 眼下

0909入门学习操作系统

从网上了解到操作系统的主要功能是资源管理,程序控制和人机交互等.计算机系统的资源可分为设备资源和信息资源两大类.设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,打印机和鼠标等.信息资源指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等.然而操作系统位于底层硬件与用户之间,是两者沟通的桥梁.用户可以通过操作系统的用户界面,输入命令,操作系统则对命令进行解释,驱动硬件设备,实现用户要求.一台计算机在没有安装任何软件的时候我们称它为“裸机”,这样的计算机是什么也做

Linux 操作系统发展历程及系统版本选择

第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心. 操作系统的作用是管理和控制计算机系统中的硬件和软件资源,例如,它负责直接管理计算机系统的各种硬件资源,如对CPU,内存,磁盘等的管理,同时对系统资源供需的优先次序进行管理.操作系统还可以控制设备的输入,输出以及操作网络与管理文件系统

计算机网络概述

目录 因特网 计算机网络性能指标 网络中通信 三种交换方式 网络分层协议模型 因特网 组成: 边缘部分 由所有连接在因特网上的主机组成 供用户直接使用,用来进行数据交换(传送数据.音频或视频)和资源共享 核心部分 功能: 向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据). 关键组成部分: 路由器(router),路由器是实现分组交换(packet switching)的关键构件,任务是转发收到的分组,这是网络核心部分最重要的功能 由I

学习记录003-简单系统优化、目录结构

一.操作系统简单优化1. cat /etc/redhat-release //查看版本号2./usr/sbin/ntpdate time.nist.gov //时间同步,仅仅只是一次同步6.4设置每5分钟自动更新时间echo '#time sync by kaka at 2016-6-22' >>/var/spool/cron/rootecho '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null2>&1' >