2024-05-17
藏龙卧虎
00
请注意,本文编写于 113 天前,最后修改于 108 天前,其中某些信息可能已经过时。

目录

简介
操作系统
定义和功能
操作系统结构
操作系统的分类
进程
进程的定义
进程的特点
进程的状态
进程状态的变化过程
进程拓展
线程
线程的定义
线程的特点
县城拓展
进程与线程的关系

简介

在计算机软考中,操作系统、进程和线程是常见的知识点。关于这几个知识点,考察的一般是概念的理解。

提示:进程状态的变化过程比较常考。

以下是这些知识点的详细讲解,帮助你更好地应对考试。

操作系统

定义和功能

  • 定义:操作系统(Operating System,OS)是管理计算机硬件和软件资源的系统软件。
  • 功能:
    • 进程管理:管理进程的创建、调度、同步和终止。
    • 内存管理:负责内存的分配和回收,内存保护和共享。
    • 文件系统管理:提供文件的创建、删除、读写和权限管理。
    • 设备管理:管理输入输出设备,提供设备驱动程序。
    • 用户接口:提供用户与计算机交互的界面,如命令行接口(CLI)和图形用户界面(GUI)。

操作系统结构

  • 单体结构(Monolithic OS):所有功能在一个内核空间中执行,如UNIX。
  • 微内核结构(Microkernel OS):将操作系统功能分成小的模块,核心功能最小化,如MINIX。
  • 层次结构:操作系统功能分层设计,每层只与相邻层交互。

操作系统的分类

  • 批处理系统:一次处理大量任务,不与用户交互。
  • 分时系统:多个用户共享系统资源,每个用户都有一个时间片。
  • 实时系统:对时间敏感的任务提供及时响应。
  • 嵌入式系统:通常是为特定功能或任务设计的计算机系统,嵌入到更大的设备中,如家电、汽车、工业设备和消费电子产品。
  • 通用操作系统:设计用于多种用途和应用环境的操作系统。

当前流行的操作系统如 WindowsmacOSLinuxAndroidiOS,它们通常被分类为通用操作系统(General-Purpose Operating Systems, GPOS)。

进程

进程的定义

定义:进程是一个程序在执行中的实例,包括程序代码、数据、资源和执行状态。它是操作系统进行资源分配和管理的基本单位。

进程的特点

  1. 拥有独立的地址空间。
  2. 进程之间不能直接共享内存空间,需要通过操作系统提供的机制(如进程间通信IPC)进行数据交换。
  3. 每个进程都有自己的资源(如文件句柄、内存)。

进程的状态

一般情况下,认为进程的主要状态有三个:

  • 就绪状态:进程已准备好执行,等待CPU分配。
  • 运行状态:进程正在CPU上执行。
  • 等待状态:进程因等待某事件(如I/O操作)而暂停执行。

但有些时候,便于理解进程状态的变化,可以认为另外两个状态:

  • 新建状态:进程刚刚被创建,但尚未进入就绪队列。
  • 终止状态:进程执行完毕或由于某种原因被操作系统终止,进程的资源被回收。

进程状态的变化过程

  1. 新建 -> 就绪:进程创建后,分配必要的资源,进入就绪队列,等待调度。
  2. 就绪 -> 运行:调度器选择一个就绪进程,将其分配到CPU上,进程进入运行状态。
  3. 运行 -> 等待:运行中的进程需要等待某事件(如I/O操作),操作系统将其状态设置为等待,并将CPU分配给其他进程。
  4. 等待 -> 就绪:等待的事件发生后,进程重新进入就绪状态,等待被调度。
  5. 运行 -> 就绪:运行中的进程由于时间片用完或被操作系统中断,进入就绪状态,等待下一个调度周期。
  6. 运行 -> 终止:进程完成执行或被终止,释放资源,进入终止状态。

进程拓展

进程控制块(PCB):

  • 作用:存储进程的信息,用于管理和调度进程。
  • 内容:进程ID、程序计数器、寄存器内容、内存分配信息、I/O状态信息等。

进程调度策略:先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转(RR)。

进程同步与通信:

  • 同步机制:信号量(Semaphore)、互斥锁(Mutex)。
  • 通信机制:管道(Pipe)、消息队列、共享内存、套接字(Socket)。

线程

线程的定义

定义:线程是进程中的一个执行单元,一个进程可以包含多个线程。线程共享进程的资源,但拥有独立的执行路径。

线程的特点

  • 并发执行:多个线程可以并发执行,提高程序效率。
  • 资源共享:同一进程内的线程共享内存和资源,通信开销小。
  • 开销较小:相比进程,创建和销毁线程的开销较小。

县城拓展

线程模型:

  • 用户级线程(User-Level Thread):由用户程序库实现,系统内核不可见。
  • 内核级线程(Kernel-Level Thread):由操作系统内核支持和管理。

线程调度策略:和进程调度类似,包括先来先服务(FCFS)、最短剩余时间优先(SRTF)、时间片轮转(RR)等。

线程同步工具:与进程同步相同,包括信号量、互斥锁、条件变量(Condition Variable)。

进程与线程的关系

  • 一个进程可以包含一个或多个线程(单线程进程或多线程进程)。
  • 线程是进程的一部分,线程之间的通信比进程之间更高效,因为它们共享同一个进程的地址空间和资源。
  • 进程的创建和销毁相对昂贵,而线程的创建和销毁相对轻量。
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!