一、 C 程序的编译过程

hello.c 编译过程

概念

文本文件:只包含 ASCII 字符

二进制文件: 除文本文件外其他文件

二、计算机系统硬件组成

CPU :中央处理器

主存: 存储数据和指令

IO 设备:鼠标、键盘、显示器、磁盘控制器等

总线:数据通道

计算机内部结构拓补图

系统内部结构如下图所示, hello.c 程序如何执行呢?一个简单的描述如下,编写好的 hello.c 文本文件被存储在磁盘上,经过编译后形成的 a.out 文件也存储在磁盘上,在 shell 中敲入 ./a.out 时, ./a.out 首先被存入寄存器中,当敲入回车时,寄存器中的 a.out 被送入主存, 主存开始加载 a.out 程序和数据,加载完成后,CPU 执行程序时,从主存获取程序指令和数据,并将相应的输出送到显示器进行显示。

由上可见,程序执行过程中,大量时间花费在访存上,即将程序数据和指令从一个地方复制到另一个地方,与 CPU 执行指令速度相比,访存速度大大影响了程序执行效率,故现代计算机多设置有 cache (高速缓存),CPU 访问 cache 的速度通常比访问主存快得多,cache 通常设置在总线接口与寄存器之间,程序执行时先从 cache 查找相应的数据和命令,找不到再访问内存。从内存取数据和指令时,会在 cache 形成缓存,cache 的使用大大提高了程序执行效率,因此,提高 cache 命中率通常是提高软件系统整体运行速度的有效办法之一。

计算机内部拓补

存储设备的层次结构

存储设备的层次结构如下图所示。

存储设备层次结构

三、操作系统对硬件的管理

几个重要抽象

1. 文件

文件就是字节序列。系统中每个 I/O 设备都可以看成一个文件,甚至网络也可以看成一个文件,系统的所有输入/输出都是通过一组 Unix I/O 系统调用读写文件来实现的。

2. 进程

进程是对操作系统正在运行的程序的一种抽象。看起来每个进程好像都是独占 CPU 的,实际上是通过上下文切换实现并发的。

上下文是指进程运行所需要的状态信息,这些信息包括 PC 值、寄存器值、内存中的数据等。上下文切换是指系统保存当前运行进程的上下文信息,然后切换到另一个进程的上下文,执行新的进程,待新进程执行结束后如果要继续执行原来的进程,再恢复之前保存的上下文信息。

进程切换是由操作系统内核完成的。内核是操作系统常驻内存的部分,当进程需要某系操作系统的某些操作时(如读写文件),通过一条系统调用将控制权交给内核,内核执行完相应操作后返回应用程序。

3. 虚拟内存

Linux 进程虚拟地址空间

计算机软件系统的三个层次,计算机软硬件系统相关推荐

  1. 计算机软件系统包括应用软件和什么,计算机软件系统包括什么

    计算机软件系统包括系统软件和应用软件.计算机软件系统是指计算机在运行的各种程序.数据及相关的文档资料.系统软件是指担负控制和协调计算机及其外部设备.支持应用软件的开发和运行的一类计算机软件. 本教程操 ...

  2. 关于计算机软件系统的知识,二、计算机软件系统基本知识

    一.计算机软件系统图示 咱们先来直观的看一下,我就直接上图了 打开今日头条,查看更多精彩图片 计算机软件系统 (一)系统软件 在说系统软件之前我想用一张图让大家清晰的了解下,计算机硬件系统与软件系统的 ...

  3. 在计算机软件系统中文字处理软件属于,计算机考试题库:计算机考试模拟练习题(195)...

    [导读] 2015年中公事业单位考试网为各位考生提供事业单位计算机专业知识学习,包括事业单位考试计算机常识.计算机基础知识试题及答案,中公事业单位为考生定制计算机基础知识复习计划. 1.Word是文字 ...

  4. 奥村模型计算机仿真,实验三Okumura-Hata方法计算机仿真.doc

    实验三Okumura-Hata方法计算机仿真 姓名:123 学号:321 杭州电子科技大学 实验一 Okumura-Hata方法计算机仿真 [实验目的] 加深对奥村模型的理解: 能够使用Matlab利 ...

  5. 计算机组成原理第三章笔记---计算机功能与互联

    本文内容整理自西安交通大学软件学院李晨老师的课件,仅供学习使用,请勿转载 计算机组成原理系列笔记汇总:计算机组成原理笔记及思维导图汇总附复习建议_Qlz的博客-CSDN博客 文章目录 文章目录 文章目 ...

  6. 计算机控制系统第三次作业,计算机组成与系统结构第三次作业

    计算机组成与系统结构第三次作业 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 计算机组成与系统结构第三次作业第4章P112习题13 ...

  7. 上海三校生应用计算机考试试卷,三校生计算机考试试题.doc

    第PAGE \* MERGEFORMAT22页,共22页 <计算机应用基础>第一次月考试题 填空题(10分) 1.目前微型计算机中采用的逻辑元件是 2.计算机是20世纪人类最伟大的发明之一 ...

  8. 关于计算机软件系统的知识,一些关于计算机的常见知识

    [导语]电子计算机(electroniccomputer),通称电脑,简称计算机(computer),是现代的一种利用电子技术和相关原理根据一系列指令来对数据进行处理的机器.计算机的种类按照其用途分为 ...

  9. 计算机英语第三单元翻译,计算机专业英语影印版第三单元翻译.ppt

    计算机专业英语影印版第三单元翻译 Language Translators Article Translations Computers only understand a langrage cons ...

  10. 计算机原理第三章ppt,计算机组成原理3 第三章 总线ppt课件.ppt

    <计算机组成原理3 第三章 总线ppt课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<计算机组成原理3 第三章 总线ppt课件.ppt>文档 ...

最新文章

  1. JS函数的定义与调用方法
  2. pyspark pipline
  3. 视频图像处理平台对比_情绪管理考勤机人脸识别原理与指纹识别性能对比-微幼科技...
  4. iOS 开发者账号共用发布证书 (Distribution)问题
  5. iterator and iterable
  6. android设置大小能用小数,Android中关于保留小数点位数的处理
  7. 【拿不到offer全额退款】人工智能与 NLP / CV 第三期课程培训招生
  8. SublimeText2使用笔记
  9. c语言实现软件锁相环,锁相环系统及锁相环系统的实现方法技术方案
  10. python中shift_Pandas DataFrame.shift()用法示例
  11. javascript之Map 和 Set
  12. 解决Error: ENOENT: no such file or directory, scandir ‘xxx\node-sass\vendor‘
  13. python地理空间分析——构建SimpleGIS
  14. java删除未引用的库_利用Proguard移除无用代码以及碰到的坑
  15. wxid转扫一扫协议加好友
  16. HoG特征以及SVM的配合
  17. 答题系统 html源码,答题系统.html
  18. 清理谷歌浏览器注册表_Win10系统下注册表chrome残留无法删除
  19. 【Cocos Creator实战教程(6)】——镜头跟随
  20. 谷歌在新标签页打开搜索结果(超级新手)

热门文章

  1. pttools内置浏览器访问PT站无法登录
  2. 计算机网络中使用的最多的交换技术是,计算机网络中主要使用的交换技术
  3. linux 用户复杂秘密,linux用户的秘密之login.defs文件详解
  4. IE、Chrome浏览器主页被hao123或360篡改简单有效解决办法
  5. 虚拟机实现远程桌面连接
  6. java截取图片截图画框
  7. 淘宝天猫x-sign算法
  8. css 平移到某个位置_CSS3 对象平移translate()translatex()translatey()应用实例,包括水平垂直居中...
  9. 【读书笔记】你离考研成功就差这本书
  10. median frequency balancing