计算机系统学习笔记<一>
来源:互联网 发布:linux 获取未激活网卡 编辑:程序博客网 时间:2024/05/22 13:39
计算机是由硬件软件组成的, 硬件相当于肉体而软件相当于灵魂,两者是相辅相成的。软件分为系统软件和应用软件他们和硬件的关系是应用软件位于最外层,中心是硬件,系统软件位于两者中间。
系统软件有很多种但是最重要的两个是操作系统和编译程序。
操作系统作用:1.处理基本输入输出操作 2.分配内存和外存 3.为多个应用程序提供共享资源 编译系统是把高级语言(java ,c等)翻译成硬件能识别的机器语言帮助我们与计算机建立联系
硬件是由输入,输出(Io设备 ), 存储器,运算器,控制器五大部件组成 其中运算器,控制器是在处理器里面是计算机的核心,整个计算机执行的的指令都是由它进行控制
存储器存储着要处理的数据和指令,输入,输出则是负责输入信息和输出信息的.连接五大部件的是总线,它将整个系统通过电子管道连接起来来传送数据。
我们通过执行一个hello.c程序来了解计算机是怎样运行一个程序的
首先hello.c的源程序为:
#include<stdio.h>
int main() {
printf("hello ,world\n");
}
它是通过键盘这个IO设备输入这个程序并通过ASCII标准将字母变成单字节整数表示的字符保存在磁盘里面.然后通过编译程序进行翻译转换成机器能识别的二进制数。先经过预处理器根据#开头命令
读取系统头文件stdio.h把它插入文本中得到以i为文件的扩展名的c程序
再经过编译器将其翻译成汇编语言它是机器代码的文本表示,通过汇编语言人类可以近距离的观察机器代码,这时生成hello.i的源程序 。
在经过汇编器翻译成机器指令生成hello.o的源程序
最后通过链接器调用printf函数,这是标准C库中的一个函数,它已经预编译过所以直接将print.o合并到hello.o的程序里最终生成目标程序hello它可被内存执行
hello这时还在磁盘里面通过运行hello时会把文件复制到主存中然后处理器就能调用它生成"hello,world \n”放在寄存器文件。最后从寄存器 复制到并在屏幕上输出 。
从执行过程看出系统花了大部分时间移动文件,而在移动文件过程中磁盘到主存两边读取速度不相同主存读取文件速度是磁盘的100w倍,而寄存器是主存的100倍。而快的设备不能耗着在漫长等待过程中所以有了
缓存的概念快的设备在慢的设备传送文件时候可以不要理睬等缓存一定量以后直接从缓存中拿数据,在次期间它可以干自己的事
好像hello文件在运行的时候计算机只为它一个程序服务一样其实它在运行时有其他程序也在运行只不过计算机通过进程交叉运行,这样每个CPU时间就只有一个进程在运行。切换至其他进程时系统会
跟踪其上下文情状态再切换回来就会保持这种上下文情况就能再次执行没运行完的任务 (本人第一次写,所以写得不好)
系统软件有很多种但是最重要的两个是操作系统和编译程序。
操作系统作用:1.处理基本输入输出操作 2.分配内存和外存 3.为多个应用程序提供共享资源 编译系统是把高级语言(java ,c等)翻译成硬件能识别的机器语言帮助我们与计算机建立联系
硬件是由输入,输出(Io设备 ), 存储器,运算器,控制器五大部件组成 其中运算器,控制器是在处理器里面是计算机的核心,整个计算机执行的的指令都是由它进行控制
存储器存储着要处理的数据和指令,输入,输出则是负责输入信息和输出信息的.连接五大部件的是总线,它将整个系统通过电子管道连接起来来传送数据。
我们通过执行一个hello.c程序来了解计算机是怎样运行一个程序的
首先hello.c的源程序为:
#include<stdio.h>
int main() {
printf("hello ,world\n");
}
它是通过键盘这个IO设备输入这个程序并通过ASCII标准将字母变成单字节整数表示的字符保存在磁盘里面.然后通过编译程序进行翻译转换成机器能识别的二进制数。先经过预处理器根据#开头命令
读取系统头文件stdio.h把它插入文本中得到以i为文件的扩展名的c程序
再经过编译器将其翻译成汇编语言它是机器代码的文本表示,通过汇编语言人类可以近距离的观察机器代码,这时生成hello.i的源程序 。
在经过汇编器翻译成机器指令生成hello.o的源程序
最后通过链接器调用printf函数,这是标准C库中的一个函数,它已经预编译过所以直接将print.o合并到hello.o的程序里最终生成目标程序hello它可被内存执行
hello这时还在磁盘里面通过运行hello时会把文件复制到主存中然后处理器就能调用它生成"hello,world \n”放在寄存器文件。最后从寄存器 复制到并在屏幕上输出 。
从执行过程看出系统花了大部分时间移动文件,而在移动文件过程中磁盘到主存两边读取速度不相同主存读取文件速度是磁盘的100w倍,而寄存器是主存的100倍。而快的设备不能耗着在漫长等待过程中所以有了
缓存的概念快的设备在慢的设备传送文件时候可以不要理睬等缓存一定量以后直接从缓存中拿数据,在次期间它可以干自己的事
好像hello文件在运行的时候计算机只为它一个程序服务一样其实它在运行时有其他程序也在运行只不过计算机通过进程交叉运行,这样每个CPU时间就只有一个进程在运行。切换至其他进程时系统会
跟踪其上下文情状态再切换回来就会保持这种上下文情况就能再次执行没运行完的任务 (本人第一次写,所以写得不好)
0 0
- 计算机系统学习笔记<一>
- [计算机基础]计算机系统学习笔记(一)
- 《深入理解计算机系统》学习笔记(一)
- 深入理解计算机系统学习笔记(一)
- 计算机系统漫游学习笔记
- 理解计算机系统学习笔记
- 计算机系统学习笔记一之二进制与十六进制的转换
- 深入理解计算机系统学习笔记(一)之此书简介
- 操作系统精髓与设计原理学习笔记一:计算机系统概述
- 深入理解计算机系统学习笔记(一)概述
- 《深入理解计算机系统》笔记一
- 学习笔记:第一章 计算机系统基础知识
- 深入理解计算机系统学习笔记
- 《深入理解计算机系统》读后笔记一
- 深入理解计算机系统 笔记(一)
- 《深入了解计算机系统》阅读笔记一
- 《深入理解计算机系统》学习笔记(一):信息的表示和处理
- 计算机组成与系统结构学习笔记(1)一 计算机系统概论 [1.1
- 【DRP】——工厂模式
- C++中 关于自定义数据类型
- win7系统“XX已停止运行”的解决办法
- 拦截器and拦截器和过滤器的区别
- synchronized静态代码块,以及其中的wait,notify和notifyAll
- 计算机系统学习笔记<一>
- Android中可无限循环轮播的ViewPager
- 卡方分布
- Python笔记-数据探索和预处理
- 设计模式
- 310. Minimum Height Trees Add to List
- Android 6.0 运行时权限处理完全解析
- TF-IDF与余弦相似性的应用(三):自动摘要
- LeetCode 399.Evaluate Division & 332.Reconstruct Itinerary