当前位置: 首页 > news >正文

地产商网站建设互联网营销培训平台

地产商网站建设,互联网营销培训平台,win wordpress,福州专业做网站的公司说明: 面试群,群号: 228447240面试题来源于网络书籍,公司题目以及博主原创或修改(题目大部分来源于各种公司);文中很多题目,或许大家直接编译器写完,1分钟就出结果了。但…

说明:

  • 面试群,群号: 228447240
  • 面试题来源于网络书籍,公司题目以及博主原创或修改(题目大部分来源于各种公司);
  • 文中很多题目,或许大家直接编译器写完,1分钟就出结果了。但在这里博主希望每一个题目,大家都要经过认真思考,答案不重要,重要的是通过题目理解所考知识点,好应对题目更多的变化;
  • 博主与大家一起学习,一起刷题,共同进步;
  • 写文不易,麻烦给个三连!!!
  • 操作系统篇

1.试解释操作系统原理中的作业、进程、线程、管程各自的定义

答案:
作业: 用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。它包括用户程序、所需要的数据及控制命令等。作业是由一系列有序的步骤组成的。
进程: 一个程序在一个数据集合上的一次运行过程。所以一个程序在不同数据集合上运行,乃至一个程序在同样数据集合上的多次运行都是不同的进程。
线程: 线程是进程中的一个实体,是被系统独立调度和执行的基本单位。
管程: 管程实际上是定义了一个数据结构和在该数据结构上的能为并发进程所执行的一组操作,这组操作能同步进程和改变管程中的数据。

2.进程间的通信如何实现?

答案:
现在最常用的进程间通信的方式有信号、信号量、消息队列、共享内存。
所谓进程通信,就是不同进程之间进行一些“接触”。这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些message。它们的使用方法是基本相同的,所以只要掌握了一种使用方法,然后记住其他的使用方法就可以了。信号和信号量是不同的,它们虽然都可用来实现同步和互斥,但前者是使用信号处理器来进行的,后者是使用P、V操作来实现的。消息队列是比较高级的一种进程间通信方法,因为它真的可以在进程间传送message,连传送一个“I seek you”都可以。
一个消息队列可以被多个进程所共享(IPC就是在这个基础上进行的);如果一个进程的消息太多,一个消息队列放不下,也可以用多于一个的消息队列(不过可能管理会比较复杂)。共享消息队列的进程所发送的消息中除了message本身外还有一个标志,这个标志可以指明该消息将由哪个进程或者是哪类进程接受。每一个共享消息队列的进程针对这个队列也有自己的标志,可以用来声明自己的身份。

3.什么是死锁,产生死锁的4个必要条件是什么?

答案:
所谓deadlocks(死锁)是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁。
产生死锁的4个必要条件如下:

  • 互斥条件:一个资源每次只能被一个进程使用。
  • 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
  • 不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。
  • 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
    这4个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。

4.多选:在多重处理系统中,处理死锁的办法有两种:一是防止其发生;二是发生后进行处理。下面的办法中属于防止其发生的是哪一个?

A.Destroy mutual condition(破坏互斥条件)
B.Destroy non-preemptive condition(破坏不可剥夺条件)
C.Destroy iterative waiting condition(破坏循环等待条件)
D.To kill one process which involves in dead-lock(杀死某个激活死锁的进程)

答案: B C
根据产生死锁的4个必要条件,只要使其中之一不能成立,死锁就不会出现。为此,可以采取下列3种预防措施:

  • 采用资源静态分配策略,破坏“部分分配”条件。
  • 允许进程剥夺使用其他进程占有的资源,从而破坏“不可剥夺”条件。
  • 采用资源有序分配法,破坏“环路”条件。

这里注意一点:互斥条件无法被破坏。
死锁的避免不严格地限制死锁的必要条件的存在,而是系统在系统运行过程中小心地避免死锁的最终发生。避免死锁算法中最有代表性的算法是Dijkstra E.W于1968年提出的银行家算法,该算法需要检查申请者对资源的最大需求量,如果系统现存的各类资源可以满足申请者的请求,就满足申请者的请求。这样申请者就可很快完成其计算,然后释放它占用的资源,从而保证了系统中的所有进程都能完成,所以可避免死锁的发生。
在本题中选项A破坏互斥条件是无法做到的,B、C正确,D选项属于死锁事后处理操作,与题意不符。

5.请描述进程的三种基本状态

答案:
进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。

  1. 就绪(Ready)状态:当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。
  2. 执行(Running)状态:当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。
  3. 阻塞(Blocked)状态:正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可以有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

6.下面哪个选项不是PE文件?

A.EXE
B.DLL
C.COM
D.DOC
答案: D
PE文件被称为可移植的执行体是Portable Execute的全称,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)

7.请你说一说Linux虚拟地址空间

答案:
为了防止不同进程同一时刻在物理内存中运行而对物理内存的争夺和践踏,采用了虚拟内存。
虚拟内存技术使得不同进程在运行过程中,它所看到的是自己独自占有了当前系统的4G内存。所有进程共享同一物理内存,每个进程只把自己目前需要的虚拟内存空间映射并存储到物理内存上。事实上,在每个进程创建加载时,内核只是为进程“创建”了虚拟内存的布局,具体就是初始化进程控制表中内存相关的链表,实际上并不立即就把虚拟内存对应位置的程序数据和代码(比如.text . data段)拷贝到物理内存中,只是建立好虚拟内存和磁盘文件之间的映射就好(叫做存储器映射),等到运行到对应的程序时,才会通过缺页异常,来拷贝数据。还有进程运行过程中,要动态分配内存,比如 malloc时,也只是分配了虚拟内存,即为这块虚拟内存对应的页表项做相应设置,当进程真正访问到此数据时,才引发缺页异常。
请求分页系统、请求分段系统和请求段页式系统都是针对虚拟内存的,通过请求实现内存与外存的信息置换。

虚拟内存的好处:
1.扩大地址空间;
2.内存保护:每个进程运行在各自的虚拟内存地址空间,互相不能干扰对方。虚存还对特定的内存地址提供写保护,可以防止代码或数据被恶意篡改。
3.公平内存分配。采用了虚存之后,每个进程都相当于有同样大小的虚存空间。
4.当进程通信时,可采用虚存共享的方式实现。
5.当不同的进程使用同样的代码时,比如库文件中的代码,物理内存中可以只存储一份这样的代码,不同的进程只需要把自己的虚拟内存映射过去就可以了,节省内存
6.虚拟内存很适合在多道程序设计系统中使用,许多程序的片段同时保存在内存中。当一个程序等待它的一部分读入内存时,可以把CPU交给另一个进程使用。在内存中可以保留多个进程,系统并发度提高。
7.在程序需要分配连续的内存空间的时候,只需要在虚拟内存空间分配连续空间,而不需要实际物理内存的连续空间,可以利用碎片

虚拟内存的代价:
1.虚存的管理需要建立很多数据结构,这些数据结构要占用额外的内存
2.虚拟地址到物理地址的转换,增加了指令的执行时间。
3.页面的换入换出需要磁盘I/o,这是很耗时的
4.如果一页中只有一部分数据,会浪费内存。

8.请你说一说操作系统中的缺页中断

答案:
malloc()和 mmap()等内存分配函数,在分配时只是建立了进程虚拟地址空间,并没有分配虚拟内存对应的物理内存。当进程访问这些没有建立映射关系的虚拟内存时,处理器自动触发一个缺页异常。
缺页中断:在请求分页系统中,可以通过查询页表中的状态位来确定所要访问的页面是否存在于内存中。每当所要访问的页面不在内存是,会产生一次缺页中断,此时操作系统会根据页表中的外存地址在外存中找到所缺的一页,将其调入内存。

缺页本身是一种中断,与一般的中断一样,需要经过4个处理步骤:
1、保护CPU现场
2、分析中断原因
3、转入缺页中断处理程序进行处理
4、恢复CPU现场,继续执行
但是缺页中断是由于所要访问的页面不存在于内存时,由硬件所产生的一种特殊的中断,因此,与一般的中断存在区别:
1、在指令执行期间产生和处理缺页中断信号
2、一条指令在执行期间,可能产生多次缺页中断
3、缺页中断返回是,执行产生中断的一条指令,而一般的中断返回是,执行下一条指令。

9.fork和 vfork 的区别

答案:

  • fork( )的子进程拷贝父进程的数据段和代码段; vfork()的子进程与父进程共享数据段
  • fork()的父子进程的执行次序不确定;vfork()保证子进程先运行,在调用exec或exit之前与父进程数据是共享的,在它调用exec或exit之后父进程才可能被调度运行。
  • vfork()保证子进程先运行,在它调用exec或exit之后父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。
  • 当需要改变共享数据段中变量的值,则拷贝父进程。

10.请你说一说并发(concurrency)和并行(parallelism)

答案:
并发( concurrency):指宏观上看起来两个程序在同时运行,比如说在单核cpu上的多任务。但是从微观上看两个程序的指令是交织着运行的,你的指令之间穿插着我的指令,我的指令之间穿插着你的,在单个周期内只运行了一个指令。这种并发并不能提高计算机的性能,只能提高效率。

并行(parallelism):指严格物理意义上的同时运行,比如多核cpu,两个程序分别运行在两个核上,两者之间互不影响,单个周期内每个程序都运行了自己的指令,也就是运行了两条指令。这样说来并行的确提高了计算机的效率。所以现在的cpu都是往多核方面发展。

http://www.dinnco.com/news/37245.html

相关文章:

  • 福州公司建站产品营销方案
  • 如何制作微信公众号文章来宾seo
  • 外贸网站怎么做外链百度今日数据
  • 做零售网站网络营销项目策划方案
  • 网站上的截图怎么做凡科网站官网
  • 网站源码完整郑州网站建设推广有限公司
  • 外贸网站该怎么做网站建设培训机构
  • 免费提交网址的网站站长工具ping
  • 成都网页制作公司在线咨询seo课程哪个好
  • 表白网页关键词优化外包服务
  • 龙岩企业网站建设制作培训方案模板
  • 茌平做网站推广活动推广
  • 网站开发工程师 上海惠州百度推广排名
  • 在百度上怎么做网站端点seo博客
  • 网站公司建设 中山最新新闻国内大事件
  • 专门做网站的公司茂名网络推广
  • 如何把刚做的网站被百度抓取到seo标题关键词优化
  • 国外虚拟物品交易网站软文网
  • 阳谷做网站如何制作网站最简单的方法
  • 重庆公司做网站网上写文章用什么软件
  • 电脑版网站转手机版怎么做可以打广告的平台
  • 上海装饰公司网站建设软文生成器
  • php网站广告管理系统如何查询关键词的搜索量
  • 国内外网站建设安徽seo报价
  • 商务网站内容建设教程营业推广方案怎么写
  • 山东网站设计公司自己如何制作一个网站
  • 安徽网站开发推荐推广营销
  • 扁平式网站模板输入关键词自动生成文章
  • 国外有哪几家做充电桩网站阿里妈妈推广网站
  • 做网站设计能赚钱吗查网站权重