计算机操作系统(OS)知识点总结笔记(待完善)

本文详细总结了操作系统的基本概念、功能和目标,深入探讨了进程、线程的管理和调度,以及内存管理机制,包括中断、系统调用、进程同步与互斥、死锁处理策略等内容。此外,还涵盖了虚拟内存、内存管理和分页分段技术,旨在提供全面的操作系统知识概览。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博主最近在搞自动化测试。。。太南了。。OS可能没空更新了

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

1、操作系统的概念

在这里插入图片描述

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

1、操作系统的功能:

  • 系统资源的管理者:处理机、存储器、文件、设备管理
  • 用户与计算机硬件之间的接口(命令接口,程序接口,程序接口=系统调用),为上层用户、应用程序提供简单服务

2、操作系统的特征:共享
共享即资源共享,系统中的资源可供内存中多个并发执行的进程共同调用

  • 互斥共享方式:一个时间段内只允许一个进程访问该资源
  • 同时共享方式:允许一个时间段内由多个进程同时对他们进行访问

3、虚拟:把一个物理上的实体变为若干个逻辑上的对应物,物理实体是实际存在的,而逻辑上对应物是用户感受到的------虚拟存储器技术

1、有时候程序同时运行需要的内存远大于4GB,为啥他们还可以在4GB内存的电脑上同时运行?yes,这就是虚拟存储技术,实际只有4GB内存,用户看来却远大于4GB
2、某单核cpu的计算机中,用户同时打开了好些软件。。为什么单核的能同时运行这么多?-----虚拟处理器技术,实际上只有一个cpu,微观上处理机在各个微小的时间段内交替为各个进程服务,让用户看起来有多个cpu在为自己服务(时分复用技术)

4、异步
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一罐彻底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性(有并发性才可能导致异步)

没有共享和并发(2个最基本特征),就谈不上虚拟和异步

5、分时操作系统
计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。解决了人机交互问题。 允许多个用户同时使用一台计算机

2、操作系统的运行机制与体系结构

1、两种指令

  • 特权指令:如内存清零指令,不允许用户程序使用
  • 非特权指令:如普通的运算指令

2、两种处理器状态

  • 用户态:此时cpu只能执行非特权指令
  • 核心态:特权指令、非特权指令都可执行

3、两种程序

  • 内核程序:是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态
  • 应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态

4、计算机系统的层次结构图
在这里插入图片描述
内核是操作系统最基本最核心的部分,是计算机上配置的底层软件。实现操作系统内核功能的那些程序就是内核程序

5、OS的体系结构
在这里插入图片描述

3、中断和异常

(1)中断的概念、作用

  • 当中断发生时,CPU立即进入核心态
  • 中断发生后,当前运行的进程暂停运行,并由OS内核对中断进行处理
  • 对于不同的中断信号,会进行不同的处理

发生中断就意味着需要操作系统介入,开展管理工作。cpu收到计时部件发出的中断信号,从用户态切换为核心态,对中断进行处理

Q:用户态、核心态之间的转换是怎么实现的?
A:用户态------>核心态 是通过中断 实现的,并且中断是唯一途径
核心态------>用户态 是通过执行一个特权指令,将程序状态字PSW标志位设置为“用户态”

(2)中断的分类

  • 内中断(也称异常、例外、陷入),包括自愿中断和强迫中断(硬件故障如缺页,软件中断如整数除0)
  • 外中断(狭义的中断),包括外设请求和人工干预

4、系统调用

用户接口分为命令接口(允许用户直接使用)和程序接口(允许用户通过程序间接使用)。程序接口就是由一组系统调用组成

1、系统调用的作用
应用程序通过系统调用请求OS的服务。系统中各种共享资源都由操作系统统一掌管,因此在用户程序中,凡事与资源有关的操作(如存储分配,I/O操作,文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由OS代为完成,这样可以保证系统稳定性和安全性
在这里插入图片描述
2、系统调用的过程

传递系统调用参数---->执行陷入指令(用户态)---->执行系统调用相应服务程序(核心态)---->返回用户程序

注意:系统调用发生在用户态,对系统调用的处理发生在核心态

二、进程、线程

1、进程

1、进程实体:PCB(进程控制块,用来描述进程的各种信息)、程序段(存放要执行的代码)、数据段(存放程序运行过程中处理的各种数据)三部分构成。一般情况下,把进程实体就简称为进程。所谓创建/销毁进程,实质上就是创建/销毁进程实体中的PCB。PCB是进程存在的唯一标志

2、严格来说,进程(动态)是进程实体(静态)的运行过程,是具有独立功能的程序在数据集合上运行的过程,系统进行资源分配和调度的一个独立单位。

3、进程的组织------链接方式

  • 按照进程状态将PCB分为多个队列
  • 操作系统持有指向各个队列的指令
    在这里插入图片描述
    4、进程的特征
  • 动态性:进程是程序的一次执行过程,是动态的产生、变化和消亡的
  • 并发性:内存中有多个进程实体,各进程可并发执行
  • 独立性:进程是能独立运行、独立获得资源、独立接收调度的基本单位
  • 异步性:各进程按各自独立的、不可预知的速度向前推进,OS要提供“进程同步机制”来解决异步问题
  • 结构性:每个进程都会配置一个PCB

5、进程的状态与转换

  • 运行态:占有CPU,并在运行(单核的话一个时刻最多只有一个进程处于运行态)
  • 就绪态:已具备运行条件,但没有空闲cpu所以暂时不能运行
  • 阻塞态:因等待某一事件而暂时不能运行

另外两种状态:

  • 创建态:进程正在被创建,OS为其分配资源、初始化PCB
  • 终止态:进程正在从OS中撤销,OS回收进程拥有的资源,撤销PCB

6、进程控制

进程控制,可以简单理解为,就是实现各个进程状态的转换
原语:用原语实现进程控制。原语的特点是不允许中断,只能一气呵成,采用“开中断指令”和“关中断指令”实现,即原子操作

无论哪个原语,要做的无非三件事情:更新PCB中的信息,将PCB插入合适的队列,分配/回收资源

7、进程通信
进程通信就是进程之间的信息交换。因为进程是分配系统资源的单位,因此各进程拥有相互独立的内存地址空间。为了保证安全,一个进程不能直接访问另一个进程的地址空间。
(1)共享内存
在这里插入图片描述
共享内存分为:

  • 基于数据结构的共享:比如共享空间里只能放一个长度为10的数组。这种方式速度慢,限制多,是一种低级通信方式
  • 基于存储区的共享:在内存中划出一块共享存储区,数据的形式、存放位置,都由进程控制,而不是OS。这种方式速度更快,是一种高级通信方式

(2)管道通信

进程1-----写数据----->管道----读数据----->进程2

  • 管道是指用于连接读写进程的一个共享文件,其实就是在内存中开辟一个大小固定的缓冲区
  • 管道只能采用半双工通信,某一时间段内只能实现单向的传输。如果要实现双向同时通信,则需要设置两个管道
  • 各进程要互斥地访问管道
  • 数据以字符流的形式写入管道,当管道写满时,写进程的write()系统调用将被阻塞;当读进程将数据全部取走后,管道变空,此时读进程的read()系统调用将被阻塞
  • 如果没写满,就不允许读,没读空,就不允许写
  • 数据一旦被读出,就从管道中抛弃,这意味着读进程最多只能有一个

(3)消息传递
进程间的数据以格式化的消息为单位,进程通过OS提供的“发送消息/接收消息”两个原语进行数据交换。

  • 直接通信方式:消息直接挂到接收进程的消息缓冲队列上
  • 间接通信方式:消息要先发送到中间实体(信箱)中,因此也称为“信箱通信方式”(eg., 计网中的电子邮件系统)

2、线程

1、有的进程可能需要同时做很多事,而传统的进程只能串行执行一系列程序,为此引入了线程,来提高并发度。可以把线程理解为轻量级进程

(1)线程是一个基本的CPU执行单元,也是程序执行流的最小单位
(2)引入线程之后,不仅进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提高系统的并发度,使得一个进程内也可以并发处理各种任务
(3)引入线程后,进程只作为资源分配的基本单位,而线程是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值