程序的生命从一个源程序开始的,该程序通过编辑器创建并保存为文本文件,文件名命为***.c,由0和1组成的位序列。
在Unix系统上,从源文件到目标文件的转化是由编译器驱动程序完成的
unix > gcc -o hello hello.c
gcc编译器读取源文件***.c,并把它翻译成一个可执行的目标文件,执行四个阶段的程序(预处理器、编译器、汇编器和链接器)
1.优化程序性能
2.理解链接时出现的错误
3.避免安全漏洞
总线:贯彻整个系统的电子管,它携带信息字节并负责各个部件间传递。通常总线被设计成传送定长的字节块,即字。
I/O设备: 即输入/输出设备,是系统与外界的联系通道。
主存: 是一个临时的存储设备,处理程序时,用来存放程序和程序处理的数据。物理上说由一组DRAM(动态随机存取存储器)组成的。
处理器:即cpu,是解释(或执行)存储在主存中指令的引擎,处理器的核心是一个被称为程序计数器pc的字长大小的存储设备。
1.从键盘上读取hello命令
2.从磁盘加载可执行文件到主存
3从存储器写输出串到显示器
程序的机器指令最初存放在磁盘上,当程序加载时,他们被拷贝到主存,当处理器运行程序时,指令又从主存拷贝到处理器。
所有应用程序对硬件的操作必须通过操作系统
操作系统的两个基本功能:1、防止硬件被失控的应用程序滥用 2、位应用程序提供简单一致的方法。
进程是操作系统对运行程序的一种抽象,一个系统可以同时运行多个进程,而每个进程
都好像独占硬件,称为并发运行。
进程的上下文切换
一个进程可以由多个线程组成,因为多线程比多进程之间更容易分享数据,也因为进程一般都比进程更高效。
文件是字节序列。每一I/O设备都可以看成文件。
原文:https://www.cnblogs.com/tqlzpg/p/11767348.html