百度面试准备

  1. 如何设计操作系统内核
    进程管理、处理机调度、存储器管理、设备管理、文件管理。
    对于程序员,操作系统需要提供很多系统调用函数接口,来对内核进行处理,所以内核应该包含很多内核程序,它们是操作系统最常用的基本模块,直接与硬件打交道。内核程序占据内存一部分内存。应该有一些程序比如SHELL,编辑器,编译器来与用户进行交互。
    1. 对于显卡的驱动,因为要在PC上显示文字,需要显示器和显卡两个设备,显示器负责将显卡的内容呈现,显卡需要存储器存储数据,叫做显存。显卡有文本模式和图形模式两种,以文本模式的显示为例,需要了解显示规则,然后对屏幕显示控制编码。它应该具有清屏操作,输出字符可以带颜色,光标的移动,屏幕滚动显示,显示字符串等等功能。
    2. 提供一些库函数,屏幕打印函数,这里函数的调用会用到栈,存储参数;库函数比如读写数据,事件监听,创建套接字,创建进程,线程,进程间通信的函数,打开或者创建文件等对文件的操作,一些系统控制函数等等。
    3. 内存分段,存储器中的存储单元都处于一个统一的逻辑存储中,它受CPU寻址能力的限制,例如32位地址线,有4G的线性地址空间。需要对内存分段,指定相应的分段策略。
    4. 对于中断的处理是操作系统内核的一个要点,需要完成中断处理程序的框架,对中断控制程序的初始化,处理函数的添加。
    5. 内存管理模块,页式内存管理,如何获取可用物理内存的大小和地址,采用什么样的数据结构来描述物理内存,申请和释放物理内存的算法如何实现。
    6. 虚拟内存的实现,虚拟地址到物理地址通过页目录和页表组成二级页表映射关系。
    7. 内存堆管理的实现,目的是为了小内存的分配,在释放的时候,应该考虑对连续内存进行合并,且在空闲内存过多时,把物理页释放给物理内存管理模块。
    8. 内核线程的创建与切换,它应该拥有自己的栈空间。
  2. 电脑开机步骤
  3. 设计查询系统
  4. 还有给你个服务器,告诉你处理文件速度突然变慢了,让你找原因
  5. linux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值