当前位置: 首页 > news >正文

思考 - 操作系统

关于线程 / 进程的思考

【分时操作系统】

每个进程都有一个【时间片】

  • 先来先服务

  • 最短作业调度

  • 优先级调度

  • 时间片轮转调度

【时间片】怎么分?

内存和CPU不是一个概念

独立的资源和地址空间

进程的资源:

内存资源

文件资源

设备资源

进程控制块:进程标识信息、处理机状态信息、进程调度信息、进程控制信息、、、、进程通信

信号量:保证一个进程访问临界资源

进程通信:

管道,信号,消息队列,共享内存,信号量,套接字

线程 / 进程 ----> CPU / 磁盘存储 ---> 进程通信 ---> 进程调度算法 ---

线程和进程

线程切换之前,要保留当前线程的运行环境;线程切换回来之后继续运行。

那么进程切换呢?

  • 【进程优先级】

  • 【PCB】进程控制块

  • 防止进程非法访问其他进程的内存?

  • 进程切换,切换的是什么资源? 进程切换是人为的吗? IO操作会阻塞进程吗?

    • 为什么进程切换开销就大呢?进程切换为什么开销就大呢?

      • 是不是说,进程切换,要把内存中的数据写回到磁盘中呢?

      • 进程切换,是不是说,就是【关闭 / 开启】的切换 ?

  • 为什么会有上下文切换?

    • CPU运行,CPU任务调度问题。

    • CPU是单核的,单核,处理多个任务,就会出现上下文切换。

      • 时间分片,

      • 获得时间片的任务能执行?

      • 资源是有限的,某一时刻,不可能只有一个任务执行

      • 任务调度算法

      • 调用【内核线程】

      • 线程数是无限的,但是线程数越多,上下文切换的越频繁。

        • 操作系统是如何创建线程的呢?

    • 为什么会出现上下文切换?

    • 什么是单核?为什么这样设计?没有上下文切换不行吗?CPU的算力是不是很强,一个普通的任务,是不是可以在很短的时间内完成计算,那么分片的话,任务的等待时间是不是,就会缩短。

  • 线程是没有资源的进程

  • 进程是资源的总称

    • 线程是CPU调度的基本单位,线程和CPU有关

    • 一个进程中可以有多个线程

    • 线程是CPU调度的基本单位,那么还有进程干嘛?

    • 进程是管理这些线程的吗?

      • 进程是分配资源的吗?

      • 进程和资源,将资源加载到内存中。在内存中进行CPU的调度。

      • 进程是不是说指定了【存储位置】呢?

        • 而线程是和在内存上的操作有关的。

    • 那么为什么说线程是没有资源的进程呢?

相关文章:

  • 路由器工作在OSI模型的哪一层?
  • babel-runtime 如何缩小打包体积
  • usbip学习记录
  • 基于springboot微信小程序课堂签到及提问系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 自动提取pdf公式 ➕ 输出 LaTeX
  • C++ 指针类型转换全面解析与最佳实践
  • PyTorch标注工具
  • 【C++】Chapter04<STL部分>:STL标准模板库概要
  • 【团体程序涉及天梯赛】L1~L2实战反思合集(C++)
  • Java并发编程高频面试题
  • Dubbo(41)如何排查Dubbo的服务不可用问题?
  • OpenCV阈值处理详解
  • 企业数据分析何时该放弃Excel?
  • No module named ‘keras.engine‘
  • mysql8.0.29 win64下载
  • SpringCloud的简单介绍
  • Jmeter脚本使用要点记录
  • volatile关键字用途说明
  • 打印网络内的层名称与特征图大小
  • 数据操作语言
  • 每日475.52元!最高检公布最新侵犯公民人身自由的赔偿金标准
  • 马上评|去年维修竣工的鼓楼,今年就“瀑布式落瓦”
  • 牛市早报|年内首次存款利率下调启动,5月LPR今公布
  • 达恩当选罗马尼亚总统
  • 吴双评《发展法学》|穷国致富的钥匙:制度,还是产业活动?
  • 沧州盐碱地“逆天改命”:无用之地变良田,候鸟翔集水草丰美