程序员操作系统笔试题(精选8篇)由网友“wanna”投稿提供,下面小编给大家整理后的程序员操作系统笔试题,希望大家喜欢!
篇1:程序员操作系统笔试题
程序员操作系统笔试题
1.基本知识点:
1) 操作系统是控制和管理计算机软硬件资源,以尽量合理有效的方法组织多个用户共享多种资源的程序集合,
2) 操作系统的基本功能:(1)处理机管理。主要功能包括进程控制、进程调度、进程同步和进程通信。(2)存储器管理。主要功能包括内存分配、地址映射、内存保护和内存扩充。(3)设备管,也叫I/O管理。主要功能包括缓冲区管理、设备分配、设备驱动和设备的无关性处理。(4)文件管理。主要功能包括文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理和存取控制。(5)用户界面管理。操作系统的用户界面就是操作系统与用户的接口,包括控制接口和程序接口。
3) 现代操作系统的基本特征:并发性、共享性、虚拟性、异步性和不确定性。
4) 所谓中断是指系统发生某一事件后,CPU暂停正在执行的程序去执行处理该事件的程序过程,处理中断事件的程序称为中断处理程序,产生中断信号的那个部件称为中断源。中断处理具体过程:保存现场;分析原因,转中断处理程序;恢复现场。
5) 进程是一个具有独立功能的程序关于数据集合的一次可以并发执行的运行活动,其基本特征:动态特征、并发特征、独立性、相互制约性。进程的构成:程序、数据和进程控制块。进程有三种基本的调度状态:执行状态、就绪状态和等待状态。
6) 进程的'引入大大地提高了资源的利用率和系统的吞吐量,而引入线程的目的是为了减少程序并发所付出的系统开销。进程是资源分配的单位,而线程是系统调度的单位。
7) 所谓死锁是多个进程间的一种僵持状态。进程死锁的原因:资源竞争及进程推进顺序非法。死锁的4个必要条件:互斥、占有等待、不可剥夺、环路。死锁的处理:鸵鸟策略、预防策略、避免策略、检测与解除死锁。
8) 临界资源是一次只允许一个进程使用的资源。临界区是在进程中操作临界资源的程序段。
2.进程和线程的区别?
答:线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行。(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。
3.网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
解析:(1)进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品
(2)线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
两者都可以提高程序的并发度,提高程序运行效率和响应时间,
线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
答:用多进程时每个进程有自己的地址空间,线程则共享地址空间。所有其他区别都是由此而来的:(1)速度:线程产生的速度快,线程间的通信快,切换快等,因为它们在同一个地址空间内。(2)资源利用率:线程的资源利用率比较好也是因为它们在同一个地址空间内。(3)同步问题:线程使用公共变量/内存时需要使用同步机制,还是因为它们在同一个地址空间内。
4. 操作系统中常见的进程调度策略有哪几种?
答:FCFS(先来先服务),优先级,时间片轮转,多队列、多级反馈队列。
5.进程间的通信如何实现?
答:现在最常见的进程间通信的方式有:信号,信号量,消息队列,共享内存,管道。信号是使用信号处理器来进行的,信号量是使用P、V操作来实现的。消息队列是比较高级的一种进程间通信方法,因为它真的可以在进程间传送消息。
6.在Windows编程中互斥器(mutex)的作用和临界区(critical section)类似,请说一下二者间的主要区别。
答:两者的区别是mutex开业用于进程之间互斥,critical section是线程之间的互斥。
7.进程进入等待状态有哪几种方式?
答:CPU调度给优先级更高的Thread(线程),原先Thread 进入Waiting(等待)状态。阻塞的Thread获得资源或者信号,进入Waiting状态。在时间片轮转的情况下,如果时间片到了,也将进入等待状态。
8.试说明进程在三个基本状态之间转换的典型原因。
答:a.处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态。b.当前进程因发生某事件而无法执行,如访问已被占有的临界资源,就会使进程由执行状态变为阻塞状态。c.当前进程因事件片用完而被暂停执行,该进程便由执行状态变为就绪状态。
9.同步机构应遵循哪些基本准则?
答:a.空闲让进;b.忙则等待;c.有限等待;d.让权等待。
10.在单处理机环境下,进程间有哪几种通信方式?
答:a.共享存储器系统通信方式;b.消息传递系统通信方式;c.管道通信方式。
11.试比较消息队列与管道通信机制。
答:a.所谓管道,是指用于连接一个读进程和一个写进程,以实现它们之间通信的共享文件,又称pipe文件,管道通信是属于共享存储系统的。b.消息队列通信机制属于消息传递系统通信机制,存在通信链路,有消息的格式,有若干缓冲队列,采用独特的发送原语和接受原语。
12.在请求分页系统中,常采用哪几种页面置换算法?
答:a.最佳置换算法;b.先进先出算法;c.最近最久未使用LRU置换算法;d.Clock置换算法;e.此外,还有最少使用置换算法和页面缓冲算法。
篇2:Unix操作系统笔试题
Unix操作系统笔试题
Unix操作系统笔试题,应届毕业生求职网总结如下,供参考:
1. 最常用的Unix版本是什么?
2. Unix系统中的`对象不是___就是_____,
3. Unix系统中的任务调度是指:
4. Unix中删除文件的命令是____,删除文件夹的命令是_____
5. Unix中,ls命令用于现实当前路径下的所有文件和文件夹,
-- 判断对错
6. 显示当前所在路径的命令是_____
7. Unix系统中用户的家目录的名字与是______相同的。
8. Shell是____与_____之间的接口。
9. Unix中的多任务是指什么?
篇3:操作系统基本概念笔试题
问题一:
⑴ 试述操作系统的.概念,作用,特征
⑵ 基本的操作系统类型有哪些?操作系统的目标是什么?有哪些主要特点?
问题二:
⑴ 什么是中断?中断有哪些类型?
⑵ 什么是中断响应?什么是中断优先级?什么是中断屏敝?
⑶ 中断处理分哪几个阶段?
篇4:C程序员笔试题
1、不正确的附值或赋初值方式为__
a、char str=“string”;
b、char str[10]; str=“string”;
c、char *p=“string”; c
d、char *p; p=“string”;
2、对于以下的变量定义,表达式___是正确的
struct node {
char s[10];
int k;
} p[4];
a、p->k=2;
b、p[0].s=“abc”;
c、p[0]->k=2;
d、p->s='a';
3、在64位高档机中,long占字节数为
a、4 b、8 c、32 d、64 b
4、函数中局部变量生成于__中
a、堆 b、栈 c、静态存储区 d、代码存储区 c
5、下面程序的输出__
#pragma pack(1) //如果#pragma pack(4)
void main
{
struct test {
char c;
short s1;
short s2;
int i;
};
cout<
}
a、9 b、10 c、12 d、16
6、下面的程序段:
char a[3],b=“china”;
a=b;
printf(“%s”,a);
a、输出china b、ch c、chi d、编译出错
篇5:C程序员笔试题
1、下列函数中,可作为虚函数的是————
a、全局函数 b、构造函数
c、静态全局函数 d、析构函数
2、对静态成员不正确的描述是——
a、静态成员不属于对象,是类的共享成员
b、要在类外定义初始化
c、调用时,要通过类或对象激活,所以静态成员函数拥有this指针
d、非静态成员函数也可以操作静态数据成员
3、在创建派生对象时,构造函数的执行对象是——
a、对象成员构造函数、基类构造函数、派生类本身的构造函数
b、派生类本身的构造函数、基类构造函数、对象成员构造函数
c、基类构造函数、派生类本身的构造函数、对象成员构造函数
d、基类构造函数、对象成员构造函数、派生类本身的构造函数
4、假设V为抽象类,下列声明哪个正确
a、V fun(int) b、V *p
c、int fun(V) d、V Obj
5、假设已定义变量float data;
以二进制方式把data值写入输出文件流对象outfile中去,正确的是:
a、outfile.write((float *)&data, sizeof(float));
b、outfile.write((float *)&data, data);
c、outfile.write((char *)&data, sizeof(float));
d、outfile.write((char *)&data, data);
6、如下类定义:
class Foo {
public:
Foo(int v):value(v) //a
~Foo //b
private:
Foo //c
int value=0; //d
};
有错误的是____
7、下列关于栈的叙述正确的是
a、在栈中只能插入数据 b、只能删除数据
c、栈是先进先出的线性表 d、是先进后出的线性表
8、一个队列入列顺序是1,2,3,4,则输出顺序是
a、4321 b、1234 c、1432 d、3241
19、若执行语句: Point a(2), b[3], *c[4];
则Point类的构造函数被调用几次
a、1 b、2 c、3 d、4
篇6:C程序员笔试题
1、在x86架构的计算机上运行下面程序输出为_____
void main
{
int i=0x01020304;
unsigned char *pc=(unsigned char *)&i;
for(int j=0;j
cout<<*pc++<<“\t”; cout<<(int)*pc++<<“\t”;
}
}
a、4 3 2 1 b、1 2 3 4.
c、3 4 2 1 d、2 1 4 3
2、在SUN SPARC工作站上运行上面的程序结果为__
3、不是建立函数的目的选项是:
a、提高程序的运行效率
b、提高程序可读性
c、减少程序篇幅
d、减少程序文件所占内存
4、函数原型为void func;以下哪个函数指针类型定义是正确的
a、typedef FUNC void (*)
b、typedef void FUNC
c、typedef void (*FUNC);
d、typedef FUNC void;
篇7:PHP程序员笔试题
PHP程序员笔试题
1、用php打印出前一天的时间格式是-5-10 22:21:21(2分)
echo date(“Y-m-d G:i:s”,strtotime(“-1 day”));
2、echo,print(),print_r()的区别(3分)
echo()是一个php语句,所以没有返回值,能打印简单的数据,
print()是一个函数,有返回值,能打印简单的'数据。
print_r()是一个函数,能打印复杂的(mix)数据。
如:
'wangking','qq'=>'123456');print_r($arr);?>
运行结果:
hello word
the value is 1
Array ( [name] =>wangking [qq] =>123456 ) ......
3、能够使html和php分离开使用的模板(1分)
smarty模板
4、使用哪些工具进行版本控制?(1分)
TortoiseSVN
6、如何实现字符串翻转?(3分)
strrev(“Hello world!”);
篇8:C++程序员经典笔试题
1.请问i的值会输出什么?
#include“iostream.h”
int i=1;
void main()
{
int i=i;
cout<
}
答案:
i是一个没有定义的值。
由于你在main函数里面你又一次定义了一个局部变量i,并且没有初始化。它的值就是一个随机值。(所分配内存位置转换为int后的值)。
同一时候,在main函数里面使用i会覆盖之前定义的全局变量i(即int i = 1那句)。
输出i的值是局部变量i的值。
2.请问x会输出什么?
#include
using namespace std;
int main()
{
int x=2,y,z;
x*=(y=z=5);cout<
z=3;
x==(y=z);cout<
x=(y==z);cout<
x=(y&z);cout<
x=(y&&z);cout<
y=4;
x=(y|z);cout<
x=(y||z);cout<
return 0;
}
答案:
10。10,1,3,1,7。1
3.下面代码的结果是多少?
#include
using namespace std;
int func(int x)
{
int count=0;
while(x)
{
count++;
x=x&(x-1);
}
return count;
}
int main()
{
cout<
return 0;
}
答案:
8
细致想想应该是9999的二进制表示中1的个数。想不通了纸上画一下。
★ 软素质笔试题
★ 笔试题IP协议
★ 爱立信的笔试题
【程序员操作系统笔试题(精选8篇)】相关文章:
一些网易笔试题2023-08-13
Intel招聘的笔试题2022-04-30
大唐移动笔试题内容2024-04-28
财务招聘笔试题2022-06-30
叠拓测试笔试题2023-01-02
嵌入式软件工程师笔试题2023-07-03
网友群硕软件笔试题2023-07-18
软件开发的阶段试题2023-05-18
南京嘉环笔试题2023-09-17
PHP笔试题目及答案2023-09-04