计算机维修法宝,计算机的三大法宝

1.存储程序计算机

我的理解就是,冯诺依曼体系结构,cpu取指执行,关键的一个寄存器就是ip,取指,译码,执行,然后ip+1,重复以上步骤。然后一些特殊的指令可以实现不连续的执行,比如 call, jmp,ret等。

2.函数调用堆栈

函数调用堆栈是计算机发展的一大步,因为堆栈是高级语言里函数的基础,函数的实现依赖于堆栈,调用函数的时候,入栈,保存上一个栈的一些信息,然后执行新的一个函数,最后return的时候,恢复上一个函数调用前的一些信息。

3.中断

中断就是cpu停止当前正在做的事情,转而处理其他程序的指令这一过程。

一般中断都被封装在系统调用内,而系统调用一般被封装在API内,API是用户和计算机打交道的一个接口。

就比如下面的一段代码:

void testfork() {

if (0 = =fork()){

printf(“create new process success !\n”);

}

printf(“testfork ok\n”);

}

这段代码看起来很简单,就是调用c语言的一个api,执行了一次fork(),生成了一个新的进程。子进程和父进程打印不同的内容。

其实熟悉linux系统的人都知道,fork的工作实际上是以系统调用的方式完成相应功能的,具体的工作是由sys_fork负责实施。其实对于任何一个操作系统来说,创建一个新的进程都是属于核心的功能,因为要做很多底层的工作,消耗系统的物理资源,比如说分配物理内存,从父进程copy相关信息,设置页目录和页表等等,这些显然不能随便让哪个程序去做,于是自然引出了特权级别的概念,显然,最关键性的操作必须由高级特权的程序来执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值