某台微机安装的是 64 位操作系统,“ 64 位”指的是( )
A、CPU的运算速度,即CPU每秒钟能计算64位二进制数据
B、CPU的字长,即CPU每次能处理64位二进制数据
C、CPU的时钟主频
D、CPU的型号
64位操作系统指的是CPU的资产,也就是说每次可以处理64位二进制数据,内存地址是64位。阈值相对的是32位操作系统,也就是说每次可以处理32位二进制数据,内存地址是32位
B
对于Linux说法,下列说法正确的是()
A、线性访问内存非法时,当前线程会进入信号处理函数
B、用mv命令移动文件时,文件的修改时间会发生变化
C、ulimit -c设置的是函数调用栈的大小
D、malloc函数是应用程序向操作系统申请内存的接口
A:当内存越界访问的时候,线程会收到信号处理,调用信号处理函数
B:Linux下文件的三个时间参数
①modification time(mtime)内容修改时间
这里的修改时间值得是文件的内容发生变化,而更新的时间
②change time(ctime)状态修改时间
这里的修改时间值得是文件的属性或者权限发生变化,而更新的时间
③access time(atime)最后访问的时间
这里的访问时间是指文件被读取,而更新的时间
所以修改的是状态修改时间
C:ulimit -c是更改coredump文件大小的命令,也就是修改核心转储文件
D:malloc是库函数,“操作系统申请内存的接口”指的是系统调用,库函数中封装了系统调用,库函数与系统调用是两个不同的概念
A
以下哪个命令可以改变进程的优先级
A、twice
B、chnice
C、nice
D、renice
AB:没有这个命令
C:nice设置进程优先级的谦让值(修正值)为N,当niceness为负的时候,表示高优先级,能提前执行和获取更多的资源,对应低友善度,反之则表示低优先级,高友善度
D:renice指令可以重新调整程序执行的优先权等级
D
5下述哪种情况会提出中断请求()
A、在键盘输入过程中,每按一次键
B、两数相加结果为零
C、计算结果溢出
D、一条系统汇编指令执行完成
程序中断
指的是计算机执行现行的程序的过程中,出现某些紧急的需要处理的异常情况和特殊请求,CPU咱叔终止现行程序,转而去对随机发生的更紧迫的时间进行处理,在处理完毕后,CPU会自动返回原来的程序,继续执行
A:当我们键盘输入的时候,进程需要中断进行IO读取,所以会导致程序中断运行,转而进行IO
B:不会导致程序运行中断
C:计算结果溢出就阶段,不会导致程序运行中断
D:汇编指令的完成也是程序在运行的替换,并不会导致程序的中断运行。
A
以下哪些不是内核对象()
A、进程
B、线程
C、互斥器
D、临界区
A:进程在内核当中也是一个进程控制块,task_struct结构体
B:线程在内核当中也是一个进程控制块在描述
C:互斥器也是在内核创建出来的,保护多线程程序运行时不会产生二义性的结果
D:临界区指的是多个执行流都能访问到的临界资源对应的代码区域,程序员定义
D
在 Linux 中,如果系统的 umask 设置为 244,创建一个新文件它的权限是()
A、–w-r–r–
B、-r-xr–r–
C、-r—w–w-
D、-r-x-wx-wx
功能说明:指定在建立文件时预设的权限掩码
语法:unmask [-S ][ 权限掩码]
不中说明,创建时,文件默认666,目录是777
所以,对于新建文件,权限666-244得到422
Linux系统中权限rwx对应数值为422,故权限位r-- -w- -w-
最前面那个-是文件类型,普通文件就是-
C
由源代码生成可执行文件需要经过预编译,编译,汇编,链接等阶段,错误:unresolved external symbol BeginScene属于()阶段错误。
A、预编译
B、编译
C、汇编
D、链接
无法解析的外部符号BeginsCENE,说明单个文件已经编译通过,在链接时,查找外部符号没有找到,无法解析,所以是发生在链接阶段
D
程序出错在什么阶段()?
int main(void)
{
http://www.taobao.com
cout << "welcome to taobao" << endl; return 0;
}
A、预处理阶段出错
B、编译阶段出错
C、汇编阶段出错
D、链接阶段出错
E、运行阶段出错
F、程序运行正常
双斜杠之后的www.taobao.com被当做注释了,那么前面的http:是否合法?
这其实是一个标签。
带标签的语句是一种特殊的语句,在语句前面有一个标识符(即标签,上段代码中的http)和一个冒号。使用goto label就可以跳转到标签处执行,比如可以在代码中写goto http,这样就会执行cout语句了。
F
有一个变量int a=0;两个线程同时进行+1操作,每个线程加100次,不加锁,最后a的值是()?
A、200
B、<=200
C、>=200
D、都有可能
1.如果两个线程并发地执行,线程A执行完毕,线程B执行,则最终的值为200
2.如果两个线程并行地指向,有可能会导致程序结果的二义性,则最终的结果值有可能是小于200。也就是比方说A线程取出了a=0,然后++,还没有写回去,就被换下了处理机,我们的B线程进去取,发现a还是0,那么就将a=0取出去++,然后我们a写回去,a=1,然后我们b写回去,a也是等于1
B