操作系统

操作系统概述

TODO:本文为目录,后续使用连接补全。

1. 操作系统的定义与功能

定义

操作系统是管理硬件、软件资源,并为应用程序提供服务的系统软件。

功能

  • 进程管理
  • 内存管理
  • 文件管理
  • I/O设备管理
  • 安全与保护

2. 操作系统的发展

  • 批处理系统
  • 分时系统
  • 实时操作系统
  • 网络操作系统
  • 分布式操作系统

3. 操作系统的类型

  • 单用户与多用户
  • 单任务与多任务
  • 实时操作系统
  • 嵌入式操作系统

二、进程管理

1. 进程与线程

进程(Process)的概念

  • 定义:程序执行时的实例
  • 状态:新建、就绪、运行、等待、终止

线程(Thread)的概念

  • 线程是进程中的最小执行单元
  • 分类:用户级线程与内核级线程

2. 进程控制

  • 进程创建:系统调用(fork()、exec()、wait())
  • 进程表与进程控制块(PCB)
  • 进程终止:正常终止与异常终止;僵尸进程

3. 进程调度

  • 调度的分类:非抢占式调度、抢占式调度
  • 调度算法
    • 先来先服务(FCFS, First-Come-First-Served)
    • 短作业优先(SJF, Shortest Job First)
    • 时间片轮转(RR, Round-Robin)
    • 多级反馈队列(Multilevel Feedback Queue)

4. 线程管理

  • 线程的创建与终止
  • 多线程编程
  • 线程同步
  • 线程池

三、同步与互斥

1. 临界区问题

  • 定义:同一时刻只能有一个进程或线程进入的共享资源访问区
  • 解决方案:禁用中断、锁机制、信号量(Semaphore)、互斥量(Mutex)

2. 同步机制

  • 信号量:P操作与V操作;二值信号量与计数信号量
  • 管程(Monitor)
  • 条件变量:等待和通知机制
  • 事件(Event)

3. 死锁

  • 概念:多个进程相互等待,无法继续执行
  • 必要条件:互斥条件、占有且等待、不可剥夺、环路等待
  • 处理方法:死锁预防、死锁避免(银行家算法)、死锁检测与恢复

四、内存管理

1. 内存分配

  • 连续内存分配:固定分区分配、动态分区分配(内存碎片问题)
  • 非连续内存分配:分页(Paging)、分段(Segmentation)、段页式管理

2. 虚拟内存

  • 概念:将部分进程地址空间映射到磁盘上,通过页面调度机制实现内存扩展
  • 分页与页面置换
  • 页面置换算法:最优页面置换算法(OPT)、最近最少使用(LRU, Least Recently Used)、先进先出(FIFO, First In First Out)
  • 页面抖动

3. 内存保护与共享

  • 地址转换:基址寄存器与限长寄存器、页表机制、段表机制
  • 内存保护:虚拟地址到物理地址的映射、保护位与权限控制、缺页异常

五、文件系统

1. 文件概念与属性

  • 定义:存储数据的基本单位
  • 属性:名称、大小、类型、权限、时间戳
  • 操作:创建、删除、打开、关闭、读写

2. 目录管理

  • 目录结构:单级目录、两级目录、树形目录、图形目录(带链接的目录)
  • 目录操作:目录创建与删除、目录的遍历与搜索

3. 文件存储管理

  • 文件分配方式:连续分配、链接分配、索引分配
  • 文件系统的实现:文件控制块(FCB)、索引节点(inode)
  • 磁盘空间管理:位图法、空闲表法

4. 文件系统的安全与保护

  • 文件权限:读、写、执行权限
  • ACL(访问控制列表)
  • 文件加密

六、输入/输出系统

1. I/O设备概述

  • 输入设备:键盘、鼠标、扫描仪
  • 输出设备:显示器、打印机
  • 存储设备:硬盘、光盘、U盘

2. I/O系统结构

  • I/O控制方式:程序直接控制、中断驱动I/O、DMA(直接存储器访问)
  • I/O接口:设备控制器、设备寄存器

3. 磁盘调度算法

  • 先来先服务(FCFS, First-Come-First-Served)
  • 最短寻道时间优先(SSTF, Shortest Seek Time First)
  • 扫描算法(SCAN)
  • 循环扫描算法(C-SCAN)

七、操作系统安全与保护

1. 安全威胁与漏洞

  • 恶意软件:病毒、蠕虫、木马、勒索软件
  • 系统漏洞:提权漏洞、缓冲区溢出

2. 安全机制

  • 认证机制:密码学与加密技术、用户认证(如用户名/密码、双因素认证)
  • 访问控制:访问控制矩阵、ACL(访问控制列表)、RBAC(基于角色的访问控制)
  • 审计与日志:系统日志、安全审计

3. 安全模型

  • 贝尔-拉帕杜拉模型(Bell-LaPadula Model)
  • 机密性模型
  • 比巴模型(Biba Model)
  • 完整性模型

八、分布式系统

1. 分布式系统概述

  • 定义:多个独立计算机通过网络协同工作提供服务的系统
  • 特点:透明性、扩展性、容错性

2. 分布式系统架构

  • 客户机-服务器架构(Client-Server)
  • 对等网络架构(P2P, Peer-to-Peer)
  • 微服务架构

3. 进程通信与同步

  • 进程通信方式:消息传递、远程过程调用(RPC)、分布式对象(CORBA)
  • 分布式锁与一致性算法:分布式锁实现(如ZooKeeper)、一致性算法(如Paxos、Raft)

九、虚拟化与云计算

1. 虚拟化技术

  • 概念:通过软件模拟硬件资源,使多个虚拟机共享同一物理资源的技术
  • 虚拟机管理程序(Hypervisor)
    • Type 1:裸机虚拟化(如VMware ESXi)
    • Type 2:宿主机虚拟化(如VirtualBox)

2. 容器技术

  • 概念:通过操作系统级虚拟化来隔离应用程序
  • Docker与Kubernetes

3. 云计算

  • 模型
    • IaaS(基础设施即服务)
    • PaaS(平台即服务)
    • SaaS(软件即服务)
posted @ 2024-09-14 15:23  cy_b  阅读(26)  评论(0)    收藏  举报