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

操作系统学习(一)——操作系统基础

一、操作系统

操作系统(Operating System, OS) 是一种系统软件,用于管理计算机硬件与软件资源,并为应用程序提供服务

作用:

  1. 资源管理者:管理CPU、内存、硬盘、I/O设备等资源;
  2. 用户与硬件之间的桥梁:用户通过操作系统间接使用硬件;
  3. 提供运行环境:为应用程序提供运行支持,如文件系统、网络、接口等;
  4. 提高效率与用户体验:通过调度、并发控制、虚拟内存等手段提升系统响应和吞吐率。

基本特征:

特征名称说明
并发性(Concurrency)多个程序或进程可以“同时”运行,提高资源利用率和系统吞吐量
共享性(Sharing)多个用户或进程可以共享计算机系统中的硬件或软件资源
虚拟性(Virtualization)操作系统通过抽象和模拟机制将物理资源虚拟为多个逻辑资源
异步性(Asynchrony)程序执行的不可预知性,每个进程按自己的速度独立运行
程序控制性操作系统控制程序的运行,包括加载、调度、挂起、终止等
中断处理性能及时响应和处理来自硬件或软件的中断事件
安全性与保护性提供用户隔离、权限管理、错误处理,确保系统稳定和数据安全

二、操作系统的功能

1. 进程管理(Process Management)

  • 进程与线程;
  • 进程状态(就绪、运行、等待);
  • 进程调度算法(FCFS、SJF、RR、优先级调度等);
  • 同步与互斥(信号量、互斥锁);
  • 死锁(产生条件、预防与解除方法)。

2. 内存管理(Memory Management)

  • 内存分配方式(连续分配、分区分配、分页、分段);
  • 虚拟内存(页表、TLB、换页算法如LRUFIFO);
  • 内存保护和地址转换(逻辑地址 ↔ 物理地址)。

3. 文件系统(File System)

  • 文件的组织方式(顺序、索引、链接);
  • 目录结构(单级、多级、树型);
  • 文件操作(创建、读写、删除);
  • 存储管理(空闲空间管理、磁盘调度算法)。

4. 设备管理(Device Management)

  • I/O设备分类(块设备、字符设备);
  • I/O控制方式(中断、轮询、DMA);
  • 缓冲管理、驱动程序;
  • 设备独立性与抽象。

5. 用户接口(User Interface)

  • 命令行界面(CLI)与图形用户界面(GUI);
  • 系统调用(System Call)机制。

三、操作系统的类型

  • 批处理系统(Batch System):早期操作系统,不支持交互;
  • 分时系统(Time-Sharing System):多个用户共享计算机资源;
  • 实时系统(Real-Time System):对时间要求高的系统,如工业控制;
  • 网络操作系统(Network OS):支持网络通信和分布式计算;
  • 嵌入式操作系统(Embedded OS):运行在嵌入式设备上,如RTOS

四、操作系统的结构

1. 单体结构(Monolithic)

  • 所有功能模块紧密集成在内核中,如Unix
  • 优点:性能高、通信开销小;
  • 缺点:模块耦合强、难维护、扩展性差。

示例:MS-DOS早期 UNIX

2. 分层结构(Layered Design)

  • 操作系统划分为若干层每层只依赖于下层,提供服务给上层
  • 优点:结构清晰、易调试;
  • 缺点:设计复杂、性能略下降。

示例:THE 操作系统、部分 UNIX 分层实现。

3. 微内核结构(Microkernel)

  • 核心思想:把内核功能“做小”,只保留:
    • 进程/线程管理,
    • 中断处理,
    • IPC(进程通信),
    • 基本内存管理。
  • 其他功能(如文件系统、网络协议、驱动)放到用户空间运行。
  • 优点
    • 安全性强:出错只影响对应模块;
    • 可移植性好。
  • 缺点
    • 模块间频繁通信,性能损耗较大。

示例:MinixQNXMach(Mac OS X 基础)。

4. 模块化结构

  • 特点
    • 类似单体结构,但模块可以动态加载/卸载
    • 内核支持插件式功能扩展(如 Linux 的 insmodmodprobe)。
  • 优点
    • 可扩展、易维护;
    • 性能优于微内核。
  • 缺点
    • 若模块错误,仍可能影响内核稳定。

示例:现代 Linux、Windows NT 系列。

5. 客户机-服务器结构(Client-Server OS)

  • 特点:操作系统被分为客户端(请求服务)与服务器(提供服务)进程
  • 通信方式:消息传递(message passing);
  • 典型应用:分布式系统、网络操作系统。

示例:Andrew 文件系统(AFS)、Plan 9 from Bell Labs

6. 虚拟机结构

  • 思想:将物理硬件抽象成多个逻辑主机每个虚拟机可运行一个操作系统实例
  • 组件
    • VMM(虚拟机监视器 / Hypervisor);
    • 客户操作系统(Guest OS)。
  • 优点
    • 实验、测试、隔离、安全性强;
  • 缺点
    • 有一定性能损耗。

示例:VMwareVirtualBoxKVMXenJVM(针对 Java)。

五、操作系统的典型实例

历史发展:

  • DOSUNIXWindowsLinuxAndroidiOS等移动系统

典型操作系统:

  • Windows:用户友好、图形化界面;
  • Linux/Unix:开源、稳定、安全,广泛用于服务器和嵌入式;
  • Android:基于Linux内核,面向移动设备;
  • iOS/macOS:Apple公司系统,封闭、安全、优化良好。
http://www.xdnf.cn/news/9606.html

相关文章:

  • 数据库管理与高可用-MySQL数据库操作
  • Prometheus学习之pushgateway和altermanager组件
  • Linux的SHELL脚本基础
  • docker-记录一次容器日志<container_id>-json.log超大问题的处理
  • opencv + jpeg_turbo(启用SIMD加速)
  • Flutter3.22适配运行鸿蒙系统问题记录
  • 算力卡上部署OCR文本识别服务与测试
  • w~视觉~合集6
  • 【组件】跳动的图标 动画
  • 实验设计与分析(第6版,Montgomery)第4章随机化区组,拉丁方, 及有关设计4.5节思考题4.1~4.4 R语言解题
  • GRIT:让AI“指着图说话“的新思路
  • get_rga_thread线程和low_camera_venc_thread线程获取低分辨率VENC码流数据
  • ORB-SLAM2学习笔记:ComputeKeyPointsOctTree分析过程记录
  • 【C语言】详解 指针
  • 使用 PySpark 从 Kafka 读取数据流并处理为表
  • 【25软考网工】第九章 网络管理(1)网络管理基础、SNMP
  • 端到端测试最佳实践:从入门到精通的完整指南
  • vue+ts+TinyEditor 是基于 Quill 2.0 开发的富文本编辑器,提供丰富的扩展功能,适用于现代 Web 开发的完整安装使用教程
  • 集成电路制造设备防震基座选型指南:为稳定护航-江苏泊苏系统集成有限公司
  • 手机如何压缩文件为 RAR 格式:详细教程与工具推荐
  • 井喷式增长下的证件缺口:特种设备人才供需矛盾如何破局?
  • 数值积分实验
  • 深入理解计算机科学中的“递归”:原理、应用与优化
  • vue3+Pinia+element-plus 后台管理系统项目实战
  • 安全,稳定可靠的政企即时通讯数字化平台
  • 金山云Q1营收19.7亿元 AI持续释放业务增长新动能
  • 【第2章 绘制】2.13 坐标变换
  • 数据拟合实验
  • IO 中的阻塞、非阻塞、同步、异步及五种IO模型
  • 服务器定时任务查看和编辑