首页 > 其他分享 >操作系统——随笔

操作系统——随笔

时间:2023-02-14 09:33:38浏览次数:33  
标签:操作系统 调度 线程 进程 随笔 2.6 2.5

操作系统(部分笔记 —— 摘选自王道考研 视频内容)

1 操作系统的基本概念

1.1 操作系统的概念、功能和目标

1.1.1操作系统的定义

操作系统是指控制和管理整个计算机系统的硬件和软件资源, 并合理地组织调度计算机的工作和资源的分配, 以提供用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。

1.1.2 操作系统的功能和目标

1.1.2.1 作为系统资源的管理者

进程:一个程序的执行过程, 执行前需要将该程序放到内存中,才能被CPU处理。

image-20230212151632455

QQ和朋友聊天:

1.找到QQ安装的位置 文件

2.该程序的相关数据放入内存 存储器

3.对应的进程被CPU处理 处理机

4.摄像头设备分配给进程所使用 设备

1.1.2.2作为用户和计算机硬件之间的接口

命令接口:允许用户直接使用

程序接口:允许用户通过程序间接使用

GUI接口:现代操作系统中最流行的图形用户接口

image-20230212152028165

联机命令接口:交互式

脱机命令接口:批处理命令

程序接口:调用user32.dll 在程序中调用该dll (该过程即为系统调用)实现创建窗口等功能。

系统调用也被称为广义指令

1.2 操作系统的特征

1.2.1 并发

并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的常考易混概念――

并行:指两个或多个事件在同一时刻同时发生。

1.2.2 共享

共享指的是资源共享, 指系统中的资源可供内存中多个并发执行的程序共同使用

image-20230212152735949

两个进程使用摄像头,只能分配给其中一个——互斥

两个进程读取一个硬盘的文件,在宏观上两个都可以读取发送,但是在微观上,两个进程是交替访问硬盘的

1.2.3 虚拟

虚拟是指一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上对应物是用户感受到的

image-20230212153308336

1.2.4 异步

多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是程序的异步性

1.2.5 小结

image-20230212153534899

1.3 操作系统的运行机制跟体系结构(单独搜索拓展)

image-20230212220931685

1.4 操作系统的运行机制和体系结构

image-20230212221118064

1.4.1 运行机制

1.4.1.1 什么是指令

CPU能够识别、执行的最基本的命令

1.4.1.2 两种指令

特权指令 : 如内存清零指令 (不允许用户程序使用)

非特权指令: 如普通的运算指令

1.4.1.3 处理器状态

用户态(目态):此时CPU只能执行非特权指令

核心态(管态):特权指令、非特权指令都可以执行

用户程序状态字寄存器(PSW)中的某个标志位来标识当前处理器处于什么状态

如 0 为用户态 1为核心态

1.4.1.4 两种程序

内核程序 : 操作系统的内核程序是系统的管理者, 既可以执行特权指令 , 也可以执行非特权指令 运行在核心态

应用程序:为了保证系统能安全运行, 普通应用程序只能执行非特权指令, 运行在用户态

1.4.1.5 操作系统的内核

进程管理、存储器管理、设备管理等功能

时钟管理、中断处理、原语(设备驱动、CPU切换等)

原语是一种特殊的程序 , 是最接近硬件的部分, 这种程序的运行具有原子性

image-20230212222046307

内核的分类:

image-20230212222149474

1.5 中断和异常

image-20230212222527105

1.5.1 中断的运行机制

本质:发生中断就意味着需要操作系统介入 , 开展管理工作

image-20230212223023019

1.5.2 中断的分类

image-20230212223208844

另一种分类方式:

image-20230212223340676

1.6 系统调用

1.6.1 什么是系统调用, 有何作用

应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、l/O操作、文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

1.6.2 系统调用的分类 按功能

image-20230212224022560

1.6.3 系统调用的过程

image-20230212224640933

2 进程与线程

2.1 进程的定义、组成、组织方式、特征

2.1.1 定义

image-20230213152047887

2.1.2 进程的组成

进程由程序段、数据段、PCB组成

image-20230213152228115

image-20230213152256872

2.1.3 进程的组织

image-20230213152335548

2.1.4 进程的特征

image-20230213152556835

2.1.5 小结

image-20230213152704190

2.2 进程的状态与转换

2.2.1 三种基本状态

image-20230213152854002

2.2.2 另外两种状态

在创建进程前,需要先分配好进程的PCB以及数据段 程序段 这个时候称为 创建态

进程结束 需要撤销进程 需要回收该进程占用的资源(撤销分配的打印机 内存资源)这个时候称为 终止态

image-20230213153048905

2.2.3 进程状态的转换

image-20230213210535056

2.2.4 小结

image-20230213210632884

2.3 进程控制

2.3.1 什么是进程控制

image-20230213210753422

2.3.2 实现进程控制

image-20230213211104342

image-20230213212842076

2.3.3 进程控制相关的原语

image-20230213214001945

2.3.3.1 进程的创建

image-20230213214031879

2.3.3.2 进程的终止

image-20230213214107119

2.3.3.3 进程的阻塞和唤醒

image-20230213214220340

2.3.4 小结

image-20230213215907208

2.4 进程通信

2.4.1 什么是进程通信

image-20230213220229932

2.4.2 共享内存

image-20230213220402127

2.4.3 管道通信

image-20230213221557591

2.4.4 消息传递

image-20230213221758740

2.4.5 小结

image-20230213222459556

2.5 线程概念和多线程模型

image-20230213222545487

2.5.1 什么是线程,为什么要引入线程

一个线程中会有多个功能,多个功能要在宏观意义上共同执行, 则需要一个类似“线程”的进程

image-20230213224028738

因此 线程变成了一个基本的CPU执行单元, 也是程序执行流的最小单位

可以把线程理解为“轻量级进程”。

线程是一个基本的CPU执行单元,也是程序执行流的最小单位。引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)

引入线程后,进程只作为除CPU之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)。

2.5.2 引入线程机制后带来的变化

image-20230213225056189

2.5.3 线程的属性

image-20230213225642364

2.5.4 用户级线程

image-20230213225746254

2.5.5 内核级线程

image-20230213230315028

2.5.6 线程的实现方式

image-20230213230411978

2.5.7 多线程模型

2.5.7.1 多对一模型

image-20230213230528925

2.5.7.2 一对一模型

image-20230213230636075

2.5.7.3 多对多模型

image-20230213230711701

2.5.8 小结

image-20230213230811426

2.6 处理机调度的概念、层次

image-20230213230843031

2.6.1 调度的基本概念

image-20230213232528604

2.6.2 调度的三个层次

2.6.2.1 高级调度

image-20230213232722930

2.6.2.2 中级调度

image-20230213232907641

2.6.2.3 进程的挂起态与七状态模型

image-20230213233052053

2.6.2.4 低级调度

image-20230213233150532

2.6.2.5 三层调度的联系、对比

image-20230213233249071

2.6.2.6 小结

image-20230213233331573

2.7 进程调度的时机、切换与程序、方式

2.7.1 进程调度的时机

image-20230213234039192

image-20230213234308234

2.7.2 进程调度的方式

image-20230213234425734

2.7.3 进程的切换与过程

image-20230213234624912

2.7.4 小结

image-20230213234715876

2.8 调度算法的评价指标

2.8.1 CPU利用率*

image-20230213235325723

2.8.2 系统吞吐量*

image-20230213235420656

2.8.3 周转时间*

image-20230213235652308

image-20230213235739326

2.8.4 等待时间

image-20230213235931304

2.8.5 响应时间

image-20230213235949979

2.8.6 小结

image-20230214000009097

2.9 FCFS、SJF、HRRN调度算法

image-20230214000128997

2.9.1 先来先服务 FCFS

image-20230214000542407

标签:操作系统,调度,线程,进程,随笔,2.6,2.5
From: https://www.cnblogs.com/jy00/p/17118582.html

相关文章

  • 9.4 操作系统和高级编程语言使硬件抽象化
    通过使用操作系统提供的系统调用,程序员就没必要编写直接控制硬件的程序了。通过使用高级编程语言,有时甚至也无需考虑系统调用的存在。这是因为操作系统和高级编程语言能够......
  • docker随笔
    1、docker安装1.1、yum安装(docker的安装和依赖包在默认软件源里有,可以理解阿里云镜像源也有docker相关软件包)yum-yinstalldockersystemctlstartdockersystemctl......
  • 9.2 要意识到操作系统的存在
    制作应用的程序员们意识到一点:制作的不是硬件,而是利用操作系统功能的应用。代码清单9-1表示的是,在Windows操作系统下,用C语言制作一个具有表示当前时间功能的应用。time......
  • 9.1 操作系统功能的历史
    操作系统的原型:仅具有加载和运行功能的监控程序。通过事先启动监控程序,程序员就可以根据需要的各种程序加载到内存中运行。如下图: 在利用监控程序编写程序的过程中,发......
  • 9.5Windows操作系统的特征
    Windows操作系统的主要特征如下所示。   (1)32位操作系统(也有64位版本)    (2)通过API函数集来提供系统调用    (3)提供采用了图形用户界面的用户界面 ......
  • 9.4操作系统和高级编程语言使硬件抽象化
       通过使用操作系统提供的系统调用,程序员就没必要编写直接控 制硬件的程序了。而且,通过使用高级编程语言,有时甚至也无需考虑系统调用的存在。这是因为操作系统和高......
  • 9.2要意识到操作系统的存在
       代码清单9-1表示的是,在Windows操作系统下,用C语言制作一个具有表示当前时间时间功能的应用。time()是用来取得当前日期和时间的函数,print()是用来在显示器上显示字符串......
  • [轻量级RTSP服务]Linux|麒麟操作系统下实现屏幕|摄像头|声音采集
    背景随着国产操作系统的推进,传统行业对Linux平台的呼声和需求越来越大,之前几年,我们发布了Linux平台运营商级的RTSP转RTMP推送模块、RTMP推送模块和RTSP、RTMP播放模块,前段时......
  • 7.5利用虚拟机获得其他操作系统环境
       即使不通过移植,也可以使用别的办法来进行其他操作系统的应用。通过利用虚拟机,我们就可以在Macintosh的Mac操作系统上运行Windows应用了。   VirtualPCfo......
  • 7.1运行环境=操作系统+硬件
       程序中包含着运行环境这一内容。可以看它的安装包或者目录。通常在某个位置会写有“运行环境”这一项。例如2007MicrosoftOfficeSystem需要的运行环境,就如表7-......