操作系统之概述

 
应用程序开发和运行需要系统程序做底层支撑,系统程序有:
  • 实用工具
  • 库程序
  • 操作系统
除了应用程序开发和运行的支持,OS还提供哪些功能呢?
  • IO访问(驱动程序)
  • 文件访问控制
  • 程序开发
  • 内存管理
  • 进程管理
  • 系统访问控制
  • 错误处理
  • 监控记账
历史
  • 串行处理
  • 批处理(监控程序常驻内存,作业控制语言JCL):内存保护,定时器,特权指令,中断
  • 多道批处理
  • 分时系统:时间片(适应实时用户交互)
如果没有操作系统
  • 与设备交互的同步问题
  • 同时访问一个资源时
  • 内存保护问题
  • 死锁问题
操作系统的虚存机制
  • 进程拆分为很多固定大小的块,称为页
  • 进程通过虚地址访问,虚地址包括页号和偏移地址
  • 虚地址和实地址之间的映射由操作系统的分页系统提供
关于接口
  • ABI:从动态进程角度看机器(虚地址空间、寄存器、机器指令、IO调用)
  • API:从静态程序角度看机器(操作系统功能实现、库函数功能实现)
  • ISA:从操作系统角度看机器(计算机资源)
虚拟机
  • 进程虚拟机:为进程提供ABI
  • 系统虚拟机:为操作系统提供ISA
Linux内核组件
  • 信号:内核通过信号通知进程
  • 系统调用:进程通过系统调用接口调用内核模块
  • 进程调度器
  • 虚拟内存:面向进程
  • 物理内存:面向虚拟内存
  • 文件系统
  • 网络协议
  • 陷阱和错误
  • 驱动:块设备驱动、网络设备驱动、字符设备驱动(外存以外的IO设备)
  • 中断:面向驱动
一些概念
  • 环境子系统
  • 对称多处理SMP
  • 线程池机制GCD
  • 对象句柄:系统服务的调用指针,不命名则供进程自己使用,命名则可以给与之交互的进程使用
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2013-02-05 11:56  丛林中的小毛鼠  Views(189)  Comments(0)    收藏  举报