操作系统是计算机系统的核心软件,负责管理和协调硬件与软件资源,为用户和应用程序提供高效、稳定的运行环境

操作系统是计算机系统的核心软件,负责管理和协调硬件与软件资源,为用户和应用程序提供高效、稳定的运行环境。其主要功能包括进程管理、存储管理、设备管理和文件管理等。

  1. 进程管理
    进程是程序的一次执行过程,操作系统通过进程管理实现多任务处理。主要功能包括:

    • 进程的创建、调度、同步与通信
    • 处理进程状态转换(就绪、运行、阻塞)
    • 避免死锁(如使用银行家算法)
    • 调度算法:先来先服务(FCFS)、短作业优先(SJF)、时间片轮转(RR)、优先级调度等
  2. 存储管理(内存管理)
    管理主存资源,确保各进程安全、高效地使用内存:

    • 内存分配与回收(连续/非连续分配)
    • 分页(Paging)与分段(Segmentation)
    • 虚拟内存技术:允许程序使用比物理内存更大的地址空间
    • 页面置换算法:如先进先出(FIFO)、最近最少使用(LRU)
  3. 设备管理
    控制和协调外部设备的使用:

    • 提供统一的设备驱动接口
    • 实现I/O调度、缓冲、缓存和设备分配
    • 支持中断机制与DMA(直接内存访问)
    • 即插即用(PnP)与电源管理
  4. 文件管理
    组织、存储和检索文件数据:

    • 文件的创建、删除、读写与共享
    • 目录结构管理(树形目录)
    • 文件系统的实现(如FAT、NTFS、ext4)
    • 磁盘空间分配方式:连续、链接、索引
    • 文件保护与访问控制机制

这些模块协同工作,共同保障系统的稳定性、安全性和高效性。

进程调度是操作系统根据一定的策略,从就绪队列中选择一个或多个进程分配CPU资源,使其得以执行的过程。其核心目标是提高系统资源的利用率、响应速度和吞吐量,同时保证公平性和避免饥饿。

进程调度的类型:

  1. 高级调度(作业调度):决定哪些作业从外存调入内存,创建进程。
  2. 中级调度:在内存和外存之间交换进程(挂起与恢复),用于实现虚拟内存。
  3. 低级调度(CPU调度):真正决定哪个就绪进程获得CPU运行权,频率最高。

常见的进程调度算法:

  1. 先来先服务(FCFS, First-Come First-Served)

    • 按照进程到达就绪队列的顺序调度
    • 优点:简单直观
    • 缺点:平均等待时间长,可能导致“护航效应”
  2. 短作业优先(SJF, Shortest Job First)

    • 优先调度预计运行时间最短的进程
    • 可分为抢占式(SRTF:最短剩余时间优先)和非抢占式
    • 优点:最小化平均等待时间
    • 缺点:难以预估运行时间,可能导致长进程饥饿
  3. 时间片轮转(RR, Round Robin)

    • 每个进程分配一个固定的时间片(如10ms)
    • 时间片用完后,进程让出CPU并进入就绪队列末尾
    • 优点:公平,适合分时系统
    • 缺点:时间片过大退化为FCFS;过小则上下文切换开销大
  4. 优先级调度(Priority Scheduling)

    • 每个进程赋予一个优先级,高优先级先执行
    • 可分为抢占式和非抢占式
    • 缺点:可能导致低优先级进程长期得不到执行(饥饿)
    • 解决方案:引入“老化”(aging)技术,随时间提升等待进程的优先级
  5. 多级反馈队列调度(MLFQ, Multilevel Feedback Queue)

    • 将就绪队列分为多个级别,不同级别采用不同调度算法(如RR + 优先级)
    • 新进程进入高优先级队列,若用完时间片未完成则降级
    • I/O密集型进程可保留在高优先级以提高响应
    • 综合性能好,广泛应用于现代操作系统(如UNIX、Linux)

示例对比(简化):

算法是否公平平均等待时间实现难度适用场景
FCFS较长简单批处理系统
SJF最短中等(需预测)批处理优化
RR中等简单分时系统
优先级视情况中等实时系统
MLFQ较好复杂通用操作系统

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值