字节面试准备大全!(操作系统+计算机网络)

操作系统

  • 线程与进程的区别

根本区别:进程是操作系统资源分配的基本单位,线程是处理器任务调度和执行的基本单位

资源开销:每个进程都有独立的代码和数据空间,程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,线程之间切换的开销小。

包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻量级进程。

内存分配:同一进程的线程共享本进程的地址空间和资源,而进程之间是相互独立的

影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。

实现多线程的方式Java多线程实现方式:继承Thread类、实现Runnable接口

rip是什么

RIP(路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统内路由信息的传递。RIP基于距离矢量算法,使用“跳数”来衡量到达目标地址的路由距离。

进程调度算法

1、先来先服务调度算法2、短作业(进程)优先调度算法3、时间片轮转法4、多级反馈队列调度算法5、优先权调度算法1) 非抢占式优先权算法2) 抢占式优先权调度算法

五、操作系统有哪些功能

操作系统有五大功能1、处理机管理 2、存储管理 3、设备管理4、文件管理5、进程管理

进程管理

进程的状态,进程状态就绪和等待状态的区别是什么

进程控制模块(PCB)PCB与进程同生死,创建一个进程就是为其建立一个PCB,当进程被撤消时,系统就回收它的PCB;对进程管理也通过对PCB管理来实现,所以进程控制块是进程存在的唯一实体。PCB的信息进程标识符:它用于唯一地标识一个进程。

进程通信的方式

可以分为直接通信和间接通信

直接通信:进程必须正确的命名对方,必须有明确的发送方,message,接收方。

间接通信进程定向地从消息队列接收消息,每个消息都有一个唯一的ID,只有他们共享了一个消息队列,进程才能通信。具体的通信方式有信号,管道,消息队列,共享内存。

磁盘管理

空闲块管理通常有三种方式:一种是采用磁盘块表法,一种是采用磁盘块链法,另一种可选办法是采用位示图表示法。

空闲表法适合于文件的连续分配方式。操作系统为每个文件分配一个连续的存储空间,并为所有的存储空间建立一个空闲表,每个空闲区对应一个空闲表项,表项包括空闲区第一块号和空闲区空闲块数等信息。

空闲链法在每个空闲块下设置了指向下一个空闲物理块的指针,所有的空闲块连接构成了一个空闲块链表。

位示图法为了表示磁盘块的使用情况,位示图表示法对每个磁盘块用一个比特位记录其使用情况,n个块的磁盘需要采用n位位图。

线程之间共享数据的方式

代码一致可以用 Runnable 对象,这个 Runnable 对象中存放共享数据(卖票系统)

每个线程执行的代码不相同

方法1:将需要共享的数据封装成一个对象,将该对象传给执行不同代码的Runnable对象。

方法2:将这些执行不同代码的Runnable对象作为内部类。

用共享存储方式通信会有什么问题,如何解决

两个进程对共享空间的访问必须是互斥的,即同一时间只允许一个进程访问该共享空间。进程用这种方式通信时,操作系统只负责提供共享空间和同步互斥工具。(如 P、V操作)其实,共享存储方式还分为了两种,分别是基于数据结构的共享、基于存储区的共享

十一临界区是什么

临界区指的是一个访问共用资源的程序片段这些共用资源又无法同时被多个线程访问。当有线程进入临界区段时,其他线程或是进程必须等待,以确保这些共用资源是被互斥获得使用。只能被单一线程访问的设备,例如:打印机。

十二死锁是什么。死锁产生的条件是什么如何预防死锁,避免死锁,死锁发生的检查

产生死锁的原因:(1)系统资源不足(2)进程运行推进的顺序(3)资源分配不当

产生死锁的四个必要条件:(1) 互斥条件(2) 占有且等待(3)不可强行占有(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值