程序员的自我修养第一天
说明
此文章主要参考《程序员的自我修养》一书在进行博客记录,主要目的是为自己做一个类似学习笔记之类的东西,我在读此书的同时,会把自己的一些理解与需要记忆的知识写在文章里面,方便自己以后来进行复习,也希望这也能帮助到一些需要这方面知识的朋友。
一、总线频率
1、CPU频率不高
早期的计算机,CPU与内存频率一样并不高,两者是直接连接在同一总线上通信,但即使不高,也还是要比显示设备,键盘,软盘磁盘的速度高出很多,为了解决这一问题,一般每个设备都会有一个与之对应的I/O控制器来与CPU总线通信。
2、CPU频率变高了
随着技术的发展,CPU频率变高。但内存频率跟不上,就产生了与内存频率一致的系统总线,而CPU就只能采用倍频的方式与系统总线通信。
3、高速图形处理芯片的出现
由于高速图形处理芯片需要与CPU和内存进行大量数据交换,使用I/O控制器在较低速的I/O总线上与CPU通信的通信方式就不太适合了,为此,出现了北桥芯片与PCI总线,北桥芯片处理速度快,就可以使用它们去连接CPU与需要高速处理的单元。此时,低速设备便不再通过高速总线与CPU等高速单元共用总线,而是集中通过南桥芯片与PCI总线通信,所有低速单元都可以通过低速总线ISA和南桥芯片与CPU通信,当PCI总线速度达不到人们需求时,人们又发明了AGP,PCI Express等诸多总线结构及与之对应的控制芯片。
二、软件的分类#
1、系统软件
系统软件分为:
- 平台性的,比如操作系统内核,驱动程序,运行库和数以千计的系统工具。
- 用于程序开发的,比如编译器,汇编器,链接器等开发工具和开发库。
2、应用软件
应用软件多指居于上层的应用类型的软件,比如,浏览器,媒体播放器,计算器等。
三、提高CPU利用率
1、多道程序(Multiprogramming)
多道程序其实是对CPU进行监控的监控程序,当某些程序在执行他们自己的硬件处理时,监控程序就可以让那些需要CPU处理的程序启动,以此来提高CPU的利用率
2、分时系统(Time-Sharing System)
多道程序的确让CPU的利用率变高了,但是并没考虑实时性,简单的任务切换很有可能导致急需处理的任务很长时间得不到响应。这时,让每个任务都拥有一段时间去使用CPU的分时系统出现了,分时系统比多道程序就要复杂多了,他让各个任务处于协作模式,每个任务在运行一段时间后,都主动释放CPU资源让其他任务使用,这样,每个任务就及时得到执行。
3、多任务系统(Multi-tasking System)
分时系统虽然让每个任务都能有一段时间使用CPU,但各个任务之间不能被抢占,当某一任务需要耗费很长时间去执行计算,那么它会一直霸占着CPU,一直等到他执行完才能将CPU给其他任务使用,这意味着,某些任务会长时间得不到执行,这时更先进的多任务系统出现了,多任务系统对所有进程进行调度,他保证让所有进程都能有机会使用CPU资源,若有进程一直霸占CPU,那么它会强制剥夺此进程使用时间,交给那些正在等待的进程使用。