计算机操作系统
概述
操作系统是一门很神奇的学科,他在我们进行计算机学习中占据着重要的地位,现在主流有很多操作系统,比如大家所熟知的Window操作系统,Linux操作系统,Harmony操作系统,IOS操作系统。可以说是百家齐放。今天我们就来学习一下操作系统这个有趣的内容。
定义和目标
定义:操作系统是控制管理计算机系统的硬软件,分度调配资源的系统软件
目标:方便性,有效性,可拓展性,开放性
基本功能
统一管理计算机资源,实现对于计算机资源的抽象,提供用户和计算机之间的接口
特征
并发,共享,虚拟性,异步性
并发:指俩个或多个事件可以同时发生,多核CPU可以实现并行 指俩个或多个时间可以同一时间间隔发生,看起来是每个程序都在运行,但是实际上是交替运行
共享:操作系统中的资源可以提供多个并发程序共同使用,资源共享
虚拟:把一个物理实体转变为若干个虚拟实体(时分复用技术,空分复用技术)
异步:在多道程序环境下,允许多个程序并发执行,运行 暂停 速度 完成
中断处理
中断产生:
- 发生中断时,CPU立马切换到管态,开展管理工作;(管态又叫特权态,系统态或核心态,是操作系统管理的程序执行时,机器所处的状态。)
- 发生中断后,当前运行的进程回暂停运行,由操作系统内核对中断进行处理;
- 对于不同的中断信号,会进行不同的处理。
进程管理
进程管理实体进程
为什么要用进程:
- 进程是系统进行资源分配和调度的基本单位
-
进程作为程序独立运行的载体保证程序的正常执行
-
进程的存在使得操作系统资源的利用大幅提升
进程控制块(PCB):用于描述和控制进程运行的通用数据结构,记录进程状态和控制进程运行的全部信息,是进程存在的唯一标识。
进程和线程的区别:线程是操作系统运行调度的最小单位,进程是系统进行资源分配和调度的基本单位
区别和联系:
- 一个进程可以有一个或者多个进程
-
线程包含在进程里面,是进程中实际运行的工作单位
-
进程的线程共享进程资源
- 一个进程可以并发多个线程,每个线程执行不同的任务
进程管理的五个状态有就绪状态,执行状态,阻塞状态,创建状态,终止状态

- 就绪状态:其他资源都准备好,但是CPU没有准备好
-
执行状态:进程获得CPU,程序正在执行
-
阻塞状态:进程因为某种原因放弃CPU的状态,阻塞进程队列的形式存在
-
创建状态:创建进程拥有PCB,但是其他资源没有就绪
-
终止状态:进程结束由系统清理或者归还PCB状态
进程管理之进程同步
生产者-消费者问题:有一群生产者进程在生产产品,并将这些产品提供给消费者进程进行消费,生产者进程和消费者进程可以并发执行,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程需要将所生产的产品放到缓冲区中(+1操作),消费者进程可以从缓冲区取走产品消费(-1操作)。

产生问题:当两者并发执行时可能出差错,导致预期的结果与真实的结果不相符:当执行生产者+1和消费者-1操作之后,缓冲区的值从10变为了11

哲学家进餐问题:有5个哲学家,他们的生活方式是交替的思考和进餐,哲学家们共同使用一张圆桌,分别坐在5张椅子上,圆桌上有5只碗和5只筷子。平时哲学家们只进行思考,饥饿时则试图取靠近他们的左右两只筷子,只有两只筷子都被拿到的时候才能进餐,否则等待,进餐完毕后,放下左右筷子进行思考。

这会导致以下的问题,筷子就相当于临界资源:
临界资源指的是一些虽作为共享资源却又无法同时被多个线程共同访问的共享资源。当有进程在使用临界资源时,其他进程必须依据操作系统的同步机制等待占用进程释放该共享资源才可重新竞争使用共享资源。

进程同步的作用:对竞争资源在多进程间进行使用次序的协调,使得并发执行的多个进程之间可以有效使用资源和相互合作。
进程间同步的四原则:
空闲让进:资源无占用,允许使用; 忙则等待:资源被占用,请求进程等待; 有限等待:保证有限等待时间能够使用资源; 让权等待:等待时,进程需要让出CPU。