OS和编译原理回顾-重要是多语言开发能力

OS: 最主要就是进程线程调度管理及同步技术(临界区信号量等);内存存储结构(寄存器->高速缓存1->高速缓存2->主存储器)页面调度算法;磁盘管理寻道算法;IO管理中断读取DMA不必CPU参与显示IO(用户态,内核态缓存,使用文件内存映射效率更高);网络串口通信(TCP,UDP网卡发送和接收缓存);显卡驱动命令缓存队列发送(CPU和GPU通信),声卡,摄像头,蓝牙外接设备。


编译原理: 

主要是词法分析,语法分析,语法制导翻译。

中间代码生成。

运行时刻环境:

1)编译生成的静态数据区包括全局静态变量和常量;

2)代码区(二进制的代码,载入进程代码区执行时候根据CPU架构分为强代码顺序和弱代码顺序,弱代码顺序(ibm,arm)多线程多cpu并行时候需要对同步的原子锁(总线锁或内存锁)进行memory_order设置);

3)运行时候的动态内存分配栈和 堆内存分配释放,栈主要是函数参数返回值和局部常量,堆主要是大块的对象和数据块,垃圾回收技术)。

4)代码生成,代码优化(机器无关优化,并行性和局部性优化,LLVM有编译时,运行时,空闲时优化代码的设计理论)等。

无论是编译型语言还是解释型语言,都遵守上面的编译器过程,都是基于代码区,全局常量区,静态常量区,栈,堆的地址上(指针指向的)内存块上进行CPU逻辑处理。

CPU最终执行的是基于内存寄存器的加减乘除运算,以及各种条件判断,函数和内存跳转(jump)指令

所以语言都是共通的,而且很多高级语言都是基于C语言虚拟机完成的,所以不要有语言偏见,多学习几门语言才能真正提升能力。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值