基本知识了解

来源:互联网 发布:如何评价中国股市知乎 编辑:程序博客网 时间:2024/05/07 14:51

基本知识了解
1.描述实时系统的基本特性。

资源可以随时动态分配,处理能力强,速度较快
1)高精度计时系统
计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。
2)多级中断机制
一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。
3)实时调度机制
实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

2.函数模板与类模板有什么区别?

答:函数模板的实例化是由编译程序在处理函数调用时自动完成的,而类模板的实例化 必须由程序员在程序中显式地指定。

3.无符号整数和有符号整数在内存中的存储原理
3.1 无符号整数(unsigned int/unsigned long int):

  • 在内存中占4个字节32个位
  • 以十进制直接存储对应的二进制
  • 无符号位,32位都为有效数字
  • 范围为:0-2^32-1 即 [0,4294967295]

    3.2 有符号整数(signed int/signed long int):

  • 在内存中占4个字节32个位

  • 以补码形式存储
  • 最高位为符合位(0表示正,1表示负)
  • 范围为:-2^31-2^31-1 即[-2147483648,2147483647]
    疑点:
    为什么负数表示的范围要比整数大一呢?
    解答:
    因为有符号整数是以补码形式存储的,整数的反码和补码是相等的,负数的反码为除了符合位以外取反后加1,则有一下:
原码正整数表示范围:0000 0000 0000 0000 ~ 0111 1111 1111 1111 [0,2^31-1]/[0,2147483647]反码正整数表示范围:0000 0000 0000 0000 ~ 0111 1111 1111 1111 [0,2^31-1]/[0,2147483647]补码正整数表示范围:0000 0000 0000 0000 ~ 0111 1111 1111 1111 [0,2^31-1]/[0,2147483647]由于负整数在表示时,也有0的原码,正整数时也有0的原码,所以实际上有符号整数的32位可以表示的有效数为 2^31 + 2^31 - 1 = 2^32-1同时,在补码的规则中,表示0的方式只有一种:0000 0000 0000 0000,所以规定将1000 0000 0000 0000,默认为-2147483648,也就是把这个多出来的补码规定为-2147483648原码负整数表示范围:1111 1111 1111 1111 ~ 1000 0000 0000 0000 [-2^31-1,-0]/[-2147483648,-0]反码负整数表示范围:1000 0000 0000 0000 ~ 1111 1111 1111 1111补码负整数表示范围:1000 0000 0000 0001 

0 0
原创粉丝点击