计算机组成原理
darkness0604
这个作者很懒,什么都没留下…
展开
-
JAVA程序员需要知道的计算机底层基础06-进程调度
一个操作系统往往是存在很多进程的,虽然内存是各自独立的,但CPU确是共享,那势必存在一个多个进程之间调度执行的问题,也就是什么时候执行这个进程,什么时候执行另外一个进程的,各自执行多久?这种问题。linux中的调度方式非常灵活,不是像其他有些操作系统一样固定只有一种的,而是可以根据对应的调度策略进行调度,而调度策略可以由开发内核的进行自定义策略编写,当然linux自身也已经提供了一些调度策略,一般来说我们不需要手动去编写(能编写那你也得会写内核)。进程调度发展历程早期的dos系统只支持单任务运行,.原创 2020-09-28 14:16:09 · 208 阅读 · 0 评论 -
JAVA程序员需要知道的计算机底层基础05-进程、线程、纤程(协程)
每一个程序都可以启动多个进程。而每一个进程中会有若干个线程。进程和线程有什么区别?简单说:进程就是一个程序运行起来的状态,线程是一个进程中的不同的执行路径。专业一点:进程是OS分配资源的基本单位,线程是执行调度的基本单位。分配资源最重要的是:会为每一个进程分配独立的内存地址空间。当进程被启动时,内存中会有一个main主线程启动,而其中可能会有多个线程,一旦程序执行时当CPU发生计算时,此时会由内存中某一个线程调度执行,因此说是线程是执行调度的基本单元。一个进程内的所有线程共享进程的内存空间.原创 2020-09-28 14:10:44 · 223 阅读 · 0 评论 -
JAVA程序员需要知道的计算机底层基础04-操作系统
操作系统其实也是一个软件,既管理着硬件,又开放一些软件接口提供给用户。操作系统基本分为内核kernel和外围, 内核主要和硬件打交道,外围就是和用户打交道。内核的分类宏内核就是将所有的功能都放在一块内存空间中,想要哪块功能就直接在内部找就行。使用对象:PC phone微内核内核主要只负责进程调度一块,其他每一块都是分开的, 当请求某一块功能时如果没有,内核会通过定位寻找(可能通过网络)来找到对应的位置。微服务的设计理念,万物互联。 好处:可插拔,弹性部署。 缺点:相比宏内核,...原创 2020-09-18 15:44:43 · 332 阅读 · 0 评论 -
JAVA程序员需要知道的计算机底层基础03-计算机启动过程
BIOS(BASIC IN OUT SYSTEM)intel扩展了BIOS,出现了UEFI(BIOS升级版),BIOS只能展示黑白界面,UEFI可以显示彩色界面。1、通电,某个芯片得到通知,开始进行启动界面。2、进行加电自检各个硬件的连接情况3、记载bootloader到内存,bootloader是啥?引导控制器,一个计算机可能有多个操作系统,它来指引选择使用哪个操作系统。bootloader在哪?在硬盘上,那如何找到它的位置?一定写死在了硬件上: 硬盘第一个扇区(如果是软盘就是前512个byte.原创 2020-08-29 15:57:51 · 218 阅读 · 0 评论 -
JAVA程序员需要知道的计算机底层基础02-CPU组成原理
CPU的基本组成Program Counter 程序计数器 (记录当前指令地址)可以理解为我们的指令在内存中相当于一个字节数组,程序计数器记录的就是当前指令的内存地址,便于每次根据当前操作指令的占用大小进行向后移动。Registers 寄存器cpu中有许多不同的寄存器。因为数据每次都从内存去取太慢了,所以把从内存取来的数据暂时存储在寄存器,便于CPU计算快速拿到需要用到的数据。现在说的64位计算机,它的每一个寄存器就是可以存储64位的数据。JVM中的栈帧中的本地局部变量表其实就相当于“寄存器”的原创 2020-08-29 15:54:18 · 374 阅读 · 0 评论 -
JAVA程序员需要知道的计算机底层基础01-计算机硬件组成基本概述
CPU原理Intel cpu的制作过程https://haokan.baidu.com/v?vid=11928468945249380709&pd=bjh&fr=bjhauthor&type=videoCPU是如何制作的(文字描述)https://www.sohu.com/a/255397866_468626晶体管是如何工作的:https://haokan.baidu.com/v?vid=16026741635006191272&pd=bjh&fr=原创 2020-08-29 15:47:13 · 400 阅读 · 0 评论