计算机基础面试(操作系统)

1、什么是操作系统?请简要叙述一下。

     操作系统(Operation System, 简称OS),就是介于计算机硬件与应用软件之间的一层软件(或者说接口),便于我们高效的使用计算机硬件。说白了,操作系统就是搞管理的软件,协调、管理和控制计算机硬件资源和软件资源的控制程序。

      操作系统管理的硬件:CPU、内存、文件管理、磁盘管理、进程管理、终端管理。

2、操作系统有哪些分类?

     操作系统一般肯分为3种基本类型:批处理系统、分时系统、实时系统。

     批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。

     分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。

     如果某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统。例如,飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。如果能够接受偶尔违反时间规定,并且不会引起任何永久性的损害,则称为软实时系统,如飞机订票系统、银行管理系统。

3、什么是内核态和用户态?

       所谓用户态和内核态针对的是CPU,是不同权限的资源范围。比如内核态可以执行一切特权代码;而用户态只能执行那些受限权限的代码。

4、并行与并发有什么区别?

        并发:当有多个线程在操作时,如果系统只有一个CPU,则它根部不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行。在一个时间段的代码运行时候,其它线程处于挂起状。这种方式我们称之为并发(Concurrent).

        并行:当系统有一个以上CPU时,则线程的操作有可能是非并发的。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互补抢占CPU资源,可以同时进行。我们将这种方式称之为并行(Parallel).

5、线程和进程的区别?

     进程:是指一个内存中运行的应用程序(已经在内存中运行的程序). 一个进程都有一个独立的内存空间,一个电脑(手机)可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;

     线程:是进程中的一个执行单元(线程是依赖于进程的),负责当前进程中程序的执行,一个进程中至少有一个线程(单线程程序)。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。

6、什么是进程上下文切换?

     首先,需要先明白什么是上下文。每个任务运行前,CPU都需要知道任务从哪里加载、又从哪里开始运行,这里就涉及到了CPU寄存器程序计数器(PC);

     其中PC会存储CPU中正在执行的指令的位置,或者即将执行的指令位置。这两个是CPU运行任何任务前都必须依赖的环境,因此叫做CPU上下文,

 

7、什么是死锁?

     死锁是一种非常严重的bug,是多个线程同时被阻塞,线程中的一个或者多个都在等待某个资源被释放,从而造成线程无限期的阻塞,导致程序不能正常终止。

     死锁产生的四个必要条件:

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值