温故知新


软件体系结构

计算机由CPU、内存和IO设备组成基本的硬件系统。操作系统提供了统一的接口来管理和操作硬件资源。运行库使用系统调用提供的System Call,通常系统调用接口是通过软件中断来实现的。用户的应用程序使用运行库提供的Application Programming Interface

CPU和内存通过北桥与高速设备交换数据,南桥将低速设备汇总后连接到北桥上。面对CPU频率4GHz的天花板,现代计算机通过多核处理器来提高处理速度。

image.png

操作系统内存管理


操作系统提供五种基本功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。

1. 进程管理

操作系统接管所有的硬件资源,其上所有的应用程序都以进程的方式运行在比操作系统权限更低的级别。每个进程都有自己独立的地址空间,使得进程之间的地址空间相互隔离。CPU由操作系统统一分配,使得每个进程从逻辑上来看都可以独占计算机资源。

2. 内存管理

操作系统主要解决三个问题:地址空间不隔离,内存使用效率低,程序运行的地址不确定。解决的思路是:把程序的地址看做是虚拟地址Virtual Address,操作系统只要妥善地控制这个虚拟地址到物理地址的映射过程,就可以保证任意一个程序所能访问的物理内存与其它空间隔离。

分页 虚拟地址空间,通常由地址线位数决定。32位地址线可寻址的范围是4G个内存单元,即4GB。把虚拟地址空间分为固定大小的页。进程中的部分虚拟页面映射到物理页面,有的则在磁盘中。当进程需要用到磁盘中的页时,发生PageFault,操作系统接管进程,负责装在页面到内存。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,867评论 0 27
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,076评论 25 708
  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 4,620评论 0 8
  • 夜色阑珊思更甚, 星河垂泪鹊相茫。 清风自清拂杨柳, 明月对影望月人。
    醉梦尘马小贱阅读 262评论 0 0
  • 一篇写于除夕夜的随笔,今日偶然翻到,随即想发表出来。 01 辞旧迎新 安琪拉:“生命就像人家的魔法书,涂涂改改又是...
    叶九儿阅读 422评论 0 0