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

操作系统知识3

1.什么是孤儿进程?

孤儿进程是指那些父进程已经终止,但子进程仍然在运行的进程。操作系统会将这些孤儿进程的父进程ID(PID)设置为1,即系统的init进程(在现代系统中通常是systemd或类似的进程),以便这些进程能被正确管理和清理。

2.进程的调度算法有哪些?

进程调度算法是操作系统用来决定哪个进程获得CPU时间的一种方法。常见的调度算法有:

  • 先来先服务(FCFS,First-Come, First-Served):按照进程请求CPU的顺序进行调度。
  • 短作业优先(SJF,Shortest Job First):优先调度执行时间最短的进程。
  • 优先级调度(Priority Scheduling):根据进程的优先级来进行调度,优先级高的进程先被调度。
  • 轮转法(RR,Round Robin):给每个进程分配一个固定的时间片,时间片用完后,调度下一个进程。
  • 多级队列调度(Multilevel Queue Scheduling):将进程分为不同的队列,每个队列有不同的调度策略。
  • 多级反馈队列(Multilevel Feedback Queue Scheduling):结合了多个队列和时间片的调度策略,允许进程在不同队列之间调整。

3.进程终止的方式有哪些?

(1)正常终止:进程在完成所有任务后正常退出,通常通过调用exit系统调用。

(2)被中断终止:进程因外部因素被中断,可能是由其他进程或系统调用发起的中断。

(3)异常终止:由于进程出现了严重错误(如非法内存访问或除零错误)而终止。

(4)强制终止:通过操作系统命令(如kill命令)强制终止进程。

4.乐观锁和悲观锁有什么区别?

乐观锁和悲观锁是两种处理并发控制的策略:

  • 悲观锁:假设会发生冲突,操作前对数据加锁,确保在操作期间其他线程无法访问同一数据。常用的悲观锁实现方式包括行级锁和表级锁。悲观锁的特点是锁的粒度较大,容易导致性能瓶颈,但能够保证数据一致性。

  • 乐观锁:假设不会发生冲突,操作过程中不加锁,而是在提交时检查数据是否被其他线程修改。如果数据已被修改,则操作会失败,需要重新尝试。乐观锁通常通过版本号或时间戳来实现。乐观锁的特点是可以提高并发性能,但在冲突频繁时可能会增加重试的次数。


http://www.kler.cn/a/318658.html

相关文章:

  • 【面试题】发起一次网络请求,当请求>=1s,立马中断
  • MoneyPrinterTurbo – 开源的AI短视频生成工具
  • Redis - 集群(Cluster)
  • 更改Ubuntu22.04锁屏壁纸
  • C++,STL 054(24.11.13)
  • POI实现根据PPTX模板渲染PPT
  • 华为全联接大会HUAWEI Connect 2024印象(一):OpenEuler
  • uniapp沉浸式导航栏+自定义导航栏组件
  • 深入理解端口、端口号及FTP的基本工作原理
  • CREO教程——2 绘制标准图纸
  • python/requests库的使用/爬虫基础工具/
  • 最新版C/C++通过CLion2024进行Linux远程开发保姆级教学
  • 【Docker】基于docker compose部署artifactory-cpp-ce服务
  • 【车联网安全】车端知识调研
  • 产品经理面试整理-软件产品经理的常用工具
  • SpringBoot框架在文档管理中的创新应用
  • 系统架构笔记-3-信息系统基础知识
  • 探讨MySQL中的GROUP BY语句大小写敏感性
  • SegFormer网络结构的学习和重构
  • CSP-S 2024 提高级 第一轮(初赛) 阅读程序(2)
  • 【OSS安全最佳实践】降低因操作失误等原因导致数据丢失的风险
  • 【C++笔试强训】如何成为算法糕手Day2
  • 【c++】知识点
  • 分布式光伏监控系统 在鄂尔多斯市鄂托克旗某煤矿项目中的应用
  • GPU高性能编程CUDA入门
  • 拦截器filter