操作系统

考点一、概念和特性

1. 概念

  • OS是计算机系统中最重要的软件,主要功能:管理、分配计算机资源。控制设备和实时任务协调一致的工作。完成请求。

2. 特性:

  • 并发性
    a. 基础
    b.理解:打开A、B两部电影,在同一时间间隔内发生,CPU处理A1s,然后去处理B1s,轮换着来
    c.和并行性区分:AB在同一时刻发生,一个CPU处理一道程序,如果需要处理多道程序,就安装多个CPU
    d.考法:并发是宏观上的并行,微观上的串行
  • 共享性:硬件、软件、数据资源,系统中的资源可被多个并发进程共同使用。互斥共享(打印机)和同时共享
  • 虚拟性:在这里插入图片描述
  • 异步性
    在这里插入图片描述

考点二、目标&作用

1. 目标:

  • 方便性(使计算机系统易于使用)
  • 有效性(提高系统资源利用率&吞吐量)
  • 可扩充性(能适应计算机硬件、体系结构、应用发展的要求)
  • 开放性(能遵循世界标准规范)

2. 作用:

  • 对用户:人机接口(命令DOS、系统调用库函数、图形及窗口方式)
  • 对计算机:管理计算机系统资源(处理机、存储器、I/O设备、文件
  • 处理机管理:对进程(eg:死锁)、线程的管理
    进程控制(控制进程运行中的状态转换),进程同步(A进来,B就要在外面。A结束,B进来),进程通信(A出去了,要进行信息交换让B知道),调度(A出去,就要有一个进来,在队列中选择程序给其分配CPU)【谁进来、怎么进来、一次进一个、运行状态】
  • 存储器管理:内存分配、地址映射、内存扩充、内存保护
  • I/O设备:缓冲管理、设备分配、设备处理、虚拟设备
  • 文件管理
  • 考点:文件管理主要功能----实现文件的按名存取
    文件存放----树型目录
  • 操作系统和用户间的接口:用户接口(联机【用户用操作系统相应的指令去控制计算机】和脱机【用户用作业控制语言JCL编写作业说明说,交给系统执行和使用。无人机交互】) & 程序接口(OS和应用程序间的接口,由一组系统调用组成)
  • 从应用程序看:实现对计算机资源的抽象(用户知道CPU可以处理我的数据,但是不知道具体操作细节。操作系统隐藏了这些细节,使用户使用更加便利)。

考点三、OS基本类型

1. 批处理系统【我把要处理的数据全交给操作系统,然后操作系统指挥计算机工作】

  • 单道批处理系统 输入–执行–输出【单脑筋工作,一心一意】
    特征:自动、顺序、单道(始终保持一道作业)
    缺点:利用率低
  • 多道批处理系统 共享CPU和系统中的各种资源
    优点:资源利用率高吞吐量大
    缺点:平均周转时间长、无交互能力
    举例:A,B,C三个程序,输入3s、执行4s、输出5s三个操作,当A到第二阶段的时候,B需要等1s才能进行第二阶段

2. 分时系统 多用户连接、时间片轮转、人机交互

  • 特点:
    交互性:用户可以根据响应结果进一步提出新的请求
    及时性:系统可以及时响应用户请求
    独占性
    多路性:(同时性)同时多个用户使用一台计算机,宏观上多个人同时使用一个CPU,微观上多个人轮流使用CPU

3. 实时系统

  • 理解:对外部数据或者用户响应及时响应,比如温控,当温度太高时,及时进行相应的降温操作。
  • 应用:购票系统。
  • 特点:
    多路性(对多个购票软件的售票等信息进行采集以及控制)
    独立性(对信息的采集和对对象的控制互不干扰)
    及时性(对外部数据及时响应)
    交互性
    可靠性(当没剩几张票的时候,要准确售出)

4. 在以上三种系统中选择调度算法时,都可以遵循优先权准则,以便让某些紧急的作业可得到及时处理。

考点四、CPU指令—特权指令【系统态】和非特权指令【用户态】

1. 用户态如何转换为核心态(系统态)

  • 当产生中断指令时,就要转成核心态进行处理【看电视时想上厕所,就要给电视机下发中断指令】
  • 程序请求操作系统服务,执行系统调用(一种特殊的中断)

2. 特权指令(系统态下运行)eg:中断、取指、译码

3. 非特权指令(用户态运行)eg:粘贴、复制、剪切

补充知识点

1.系统调用

1. 什么时候会进行系统调用

  • 当一个进程在用户态需要使用到内核态的功能时,进行系统调用,进入内核态。
    在这里插入图片描述

2.常见的系统调用命令:

在这里插入图片描述

2.中断分类

  • 硬件故障、程序异常、自愿(系统调用)、I/O中断、外部中断

3.用户态和内核态(程序处于的两种状态)

1. 触发条件

在这里插入图片描述

4. 什么是堆和栈,都存储哪些数据

  • 堆区:程序员分配释放,比如在java中new的对象都放在堆区
  • 栈:执行方法的地方,存放局部变量,函数的参数值等

5. 如何理解分布式锁

  • 控制分布式系统同步访问共享资源的一种方式。通常需要互斥访问来保证一致性。

处理器管理

考点五、程序

  1. 程序:指令的有续集合、静态
  2. 执行方式:顺序执行&并发执行
  3. 顺序执行:顺序性【按顺序执行】、封闭性、可再现性【多次执行结果相同】【拓扑形成的代码。】
  4. 并发执行:间断性【比如输入3s–执行4s–输出5s,等待过程中出现间断】、失去封闭性【系统中的资源状态由多个程序改变】、不可再现性【由于运行速度不同导致多次执行结果不同】

考点六、进程

  1. 引进进程的原因:程序很难并发执行
  2. 进程:在没有引进线程的时候,它是系统进行资源分配和调度的一个独立单位。
  3. 特点:
    a. 动态(创建产生、调度执行、撤销消亡) -----考点:进程和程序的区别:程序静态、进程动态
    b. 并发性
    c. 独立性:可独立运行
    d. 异步性
  4. 结构特征:
    考点
    a. 进程实体组成程序段相关数据段【eg:QQ的聊天信息】、PCB
    b.PCB:进程控制块,进程存在的唯一标志
    c.PCB经常被系统访问,故常驻内存
  5. 进程调度(微观调度)的主要功能:(选择一个主存中的进程调出到外存?)将就绪队列中的进程调到CPU执行。

考点七、线程

1. 考点:

  • 线程和进程的区别:线程是CPU调度和分派的基本单位,比进程更小,基本上不拥有系统资源。进程是拥有资源的基本单位。进程:线程=1:n or 1:1 。线程开销小,进程开销大。
  • 程序:进程=1:n or 1:1 eg:一个WPS软件(程序),打开多个WPS文档(进程)

2.线程属性:

  • 轻实体—基本上不拥有系统资源
  • CPU调度和分派的基本单位
  • 线程就是为了更好的并行而出现的,所以线程可以并发执行
  • 共享进程资源

考点总结:线程、程序、进程

1. 进程和程序有什么区别:

  • 进程是程序的一次执行过程,是动态概念。程序是一组有序的指令集和,是静态概念。
  • 进程是暂时的,有生命周期,是程序在数据集上的一次执行,可创建可撤销,程序是永存的
  • 进程具有并发行,程序没有
  • 进程是竞争计算机资源的最小单位,程序不是
  • 一个程序可对应多个进程; 一个进程可以执行一个程序或多个程序

2. 进程和线程的区别:

  • 根本区别:进程是操作系统资源分配的基本单位,而线程是处理器CPU任务调度和执行的基本单位

  • 资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。

  • 包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。

  • 内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的

  • 影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。

  • 执行过程:每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制,两者均可并发执行。
    在这里插入图片描述

3. 为什么有了进程,还要有线程呢?

  • 进程可以使多个程序并发执行,以提高资源的利用率和系统的吞吐量,但是其带来了一些缺点:
    a. 进程在同一时间只能干一件事情;
    b. 进程在执行的过程中如果阻塞,整个进程就会被挂起,即使进程中有些工作不依赖与等待的资源,仍然不会执行。

  • 基于以上的缺点,操作系统引入了比进程粒度更小的线程,作为并发执行的基本单位,从而减少程序在并发执行时所付出的时间和空间开销,提高并发性能。

4. 进程的状态转换

  • 进程包括三种状态:就绪态、运行态和阻塞态。
    a. 就绪:已经获得除了CPU之外的所有资源。
    b. 运行:进程获得CPU,执行程序。单处理机系统中一个进程处于执行状态,多处理机系统中,多个进程处于执行状态。
    c. 阻塞(等待)

  • 就绪 —> 执行:对就绪状态的进程,为之分配了处理机后。

  • 执行 —> 阻塞:正在执行的进程因发生某等待事件而无法执行。
    eg1:进程提出输入/输出请求而变成等待外部设备传输信息的状态,
    eg2:进程申请资源(主存空间或外部设备)得不到满足时变成等待资源状态。
    eg3:进程运行中出现了故障(程序出错或主存储器读写错等)变成等待干预状态等等;

  • 阻塞 —> 就绪:处于阻塞状态的进程,在其等待的事件已经发生,如输入/输出完成,资源得到满足或错误处理完毕时,处于等待状态的进程并不马上转入执行状态,而是先转入就绪状态,然后再由系统进程调度程序在适当的时候将该进程转为执行状态;

  • 执行 —> 就绪
    eg1:时间片用完而被暂停执行
    eg2:在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行而被迫让出处理机时,该进程便由执行状态转变为就绪状态。

考点八、进程三种基本状态

  1. 三种状态:【去银行办理业务,首先要准备好自己的身份证等相关证件,等待柜台人员。等到柜台人员时,我就去办理业务。业务办理到一半,发现我的银行卡没有带,中断业务,我回去取。当我取回来的时候,需要再次排队等候柜台人员】
    a. 就绪:获得了除CPU外所有资源。
    b. 执行(运行):进程获得CPU,执行程序。单处理机系统中一个进程处于执行状态,多处理机系统中,多个进程处于执行状态。
    c. 阻塞(等待)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值