首页 > 其他分享 >05 操作系统

05 操作系统

时间:2024-12-19 21:24:06浏览次数:4  
标签:操作系统 05 线程 内核 进程 执行 运行

操作系统

1. 什么是进程?什么是线程?

方面 进程 线程
基本单位 操作系统资源分配和调度的基本单位 程序执行的基本单位,属于进程的一部分.
内存 进程之间是相互独立的,具有独立的内存空间。 同一进程内的线程共享内存,线程之间没有内存隔离。
通信方式 需要通过进程间通信机制(如管道、共享内存、消息队列等)。 线程之间共享进程资源,通信更方便(如直接访问共享变量)。
适用场景 更适合需要隔离的独立任务(如操作系统服务)。 更适合并发性高的任务(如多线程网络服务器)。

2. 内核线程和用户线程的区别?

相同点:内核线程和用户线程都是线程的一种,都可以执行任务。

不同点:内核线程是由操作系统创建和管理的,运行在内核态;而用户线程是由应用程序创建和管理的,运行在用户态。内核线程可以访问操作系统所有资源,执行任何操作系统提供的服务,如文件系统、网络等;用户线程只能访问应用程序的资源,只能执行应用程序提供的服务。内核现成的创建、销毁、切换、调度由操作系统内核负责,而用户线程由应用程序自己控制。

3. 进程的几种状态?

在操作系统中,进程是一个程序的运行实例,它会 随着运行的不同阶段和资源需求的变化而经历多种状态。

状态名称 说明
新建(New) 进程正在被创建,但尚未进入就绪队列,无法执行。
就绪(Ready) 进程已分配了必要的资源,等待 CPU 调度执行。
运行(Running) 进程正在 CPU 上执行。
阻塞(Blocked/Waiting) 进程等待某种事件(如 I/O 操作完成)或资源(如锁)时进入此状态。
终止(Terminated) 进程执行完成或因某种原因被终止,进入终止状态,操作系统会回收资源。

image-20241219201719175

4. 进程创建方式

特性 fork() vfork()
地址空间 父子进程拥有独立的地址空间。 父子进程共享同一地址空间,直到子进程调用 exec()exit()
父进程执行状态 父进程和子进程可以并发执行,调度顺序不确定。 父进程会被挂起,直到子进程调用 exec()exit()
效率 相较于 vfork(),开销较大(但现代系统已优化)。 开销小,性能更高。
用途 适用于需要保留父进程地址空间的场景。 适用于子进程需要立刻执行新程序的场景(通过 exec())。
内存安全性 子进程独立,不会影响父进程内存。 子进程可以影响父进程内存(共享地址空间)。

5. 进程间通信方式有哪些?有什么优缺点?

**通信方式 ** 优点 缺点 适用场景
管道 简单易用,适合父子进程通信 半双工,不适合大规模通信 父子进程间简单数据交换
消息队列 支持无亲缘关系进程通信,异步通信 消息容量有限,要考虑数据覆盖问题 多消息类型的异步传递
共享内存 高性能,支持大数据量传输 需额外同步机制,管理复杂 高性能数据共享
信号量 高效的同步和互斥控制 不能传递数据,只能用于同步 共享资源的访问控制

6. 僵尸进程、孤儿进程和守护进程是什么?

特性 僵尸进程 孤儿进程 守护进程
定义 子进程已退出,但父进程未回收其资源。 父进程已退出,但子进程仍在运行。 独立于控制终端,在后台运行的长期进程。
原因 父进程未调用 wait() 父进程意外退出或主动终止。 手动设计,用于后台运行任务。
控制 系统不会主动清理,需要父进程处理。 自动由 init 进程接管,无需人工干预。 通过特定程序设计和初始化。
危害 可能耗尽系统的进程号资源。 无危害,由操作系统管理。 无危害,正常运行的后台任务。

7. 如何清理僵尸进程?

当系统中出现了僵尸进程时,我们是无法通过kill命令把他清除的,但是我们可以通过杀死他的父进程,让他变成孤儿进程,并进一步由系统中的 init 进程(PID=1)收养并清理。

标签:操作系统,05,线程,内核,进程,执行,运行
From: https://www.cnblogs.com/R-247274/p/18617933

相关文章

  • 人月神话05
    《人月神话》第五章深入探讨了软件开发过程中的一些核心问题和挑战,揭示了软件项目管理的复杂性和困难。本章通过对软件工程实践的深刻洞察,为我们提供了关于如何更有效地进行软件开发的宝贵见解。首先,作者指出软件开发与制造业之间的差异,强调了软件的独特性。软件是由思想构成的,它......
  • w105基于保密信息学科平台系统
    ......
  • PXE安装操作系统
    TODO:制作N系统PXE工具,ISO,配置文件,DHCP服务识别配置,TFTP服务配置,(NFS服务,apache服务),自动安装(安装完,未重启后续安装其他应用),安装完成之后配置;用户可操作部分:1.导入ISO,2.配置DHCP,TFTP,NFS,安装脚本,安装后配置或安装其他应用,重启后自动执行脚本鲁棒性,复用性rpm一、本文以同一台......
  • 805 石子游戏 III
    //805石子游戏III.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*http://oj.daimayuan.top/course/22/problem/845Alice和Bob正在玩一个关于石头的游戏。共有n(n为偶数)堆石子,其中第i堆最初含有ai个石子。他们轮流选择n2堆非空石子,每堆移除......
  • 操作系统-同步问题分析
    生产者-消费者问题问题描述:一组生产者和一组消费者共享一个大小为n的缓冲区;只有缓冲区还有空位的时候生产者才能往里放数据;只有缓冲区不为空的时候消费者才能从中取数据;缓冲区是临界资源,只允许一个生产者往里放数据或者一个消费者从中取数据关系分析:因为缓冲区是临界资源,所以......
  • linux操作系统安装
    1.centenos镜像文件下载2.创建一个虚拟机1)打开VMware软件,选择创建新的虚拟机,在弹出的虚拟机向导的窗口选择自定义配置,点击下一步;2)默认设置3)选择稍后安装系统4)客户机操作系统选择Linux,版本选择CentOS7(64位)5)命名虚拟机,选择存储路径6)处理器配置根据需求配置7)虚拟机内......
  • Cheese Aizu - 0558 (BFS)
    题目链接:https://vjudge.net/problem/Aizu-0558#author=GPT_zh题意:给你一个h*w的矩阵,(.代表空地。X代表障碍物,数字1~n分别代表n个不同的cheese)老鼠从起始位置S开始,挨个去找和它能力值(power)相等的cheese去吃,输出吃完n个cheese所需要的步长。思路:BFS搜索,即先找和power相同的c......
  • 阿里云服务器操作系统选哪个?镜像这么选就对了!
    阿里云服务器操作系统选哪个?镜像这么选就对了!阿里云服务器操作系统一般选哪个?镜像怎么选择?阿里云服务器操作系统选哪个比较好?镜像就是系统,阿里云操作系统支持免费更换。阿里云服务器操作系统镜像分为Linux和Windows两大类,Linux可以选择AlibabaCloudLinux,Windows可以选择Windows......
  • Debian安装RTL8101E_RTL8102E_RTL8103E_RTL8105E
    0.适用范围由于Debian默认采用r8169驱动,不是适用该型号驱动的网卡需要另外打驱动。而且r810x系列的网卡由于年代久远无法采用安装dkms额外软件包的方法,只能从官方网下载并编译。r8101驱动适用于RTL8101E/RTL8102E/RTL8103E/RTL8105E/RTL8106E/RTL8107E1.下载驱动进real......
  • VMware虚拟机win10操作系统磁盘扩容操作步骤
    1.关闭虚拟机中操作系统,编辑此虚拟机,选择硬盘->扩展->填写扩展容量保存之后还未生效,需要开启虚拟机进入操作系统2.此电脑右键,管理,打开计算机管理,选择磁盘管理,选择要扩展的盘,这里我的是C盘右键,3.扩展卷中添加刚才扩展的磁盘空间。扩展如不想在当前磁盘扩展,也可以选择新......