常考计算机操作系统面试习题(一下)

目录

操作系统基本类型

操作系统的功能

操作系统的主要任务

进程与线程

进程状态转变

内存管理

文件系统与文件管理

虚拟存储器

设备管理

磁盘调度

死锁

信号量机制

文件打开与管理

进程与线程的互斥与同步

进程同步

进程调度

文件分配磁盘块的方法

程序执行条件

进程与程序的区别

文件访问的用户类型

指令和数据的内存绑定

信号量

互斥

死锁的必要条件

页面置换算法

程序状态

进程间通信机制

操作系统的作用

文件的访问方法

内存管理方式

操作系统的资源分配

操作系统的主要功能

进程的内存空间

CPU进程调度算法

写时复制 (COW)

现代操作系统的基本特征

微内核操作系统结构

进程与线程

信号量进行进程互斥

程序链接方式

首次适应和最佳适应算法
​​​​​​​


操作系统基本类型

  • 批处理系统
  • 分时系统
  • 实时系统

操作系统的功能

  • 处理机管理
  • 存储器管理
  • 设备管理
  • 文件管理

操作系统的主要任务

  • 管理资源:包括 CPU、内存、设备和文件。

进程与线程

  • 引入线程的目的是:减少时空开销,线程的唯一标志是 TCB(线程控制块)。
  • 引入进程的目的是:使程序能够并发执行,进程的唯一标志是 PCB(进程控制块)。
进程状态转变
  • 就绪状态:当前执行的进程因为时间片用完而暂停运行。
  • 阻塞状态:因为发生某些事件,进程无法继续执行。
  • 活动就绪状态:通过激活原语恢复进程执行。
  • 静止就绪状态:通过挂起原语阻止进程继续执行。

内存管理

  • 地址变换机构的基本任务:将作业地址空间的逻辑地址转化为物理地址。
  • 段页式系统内存访问
    1. 从内存中取得段基址。
    2. 从内存中取得页号。
    3. 从内存中取得指令或数据。

文件系统与文件管理

  • 文件的逻辑结构

    • 顺序文件
    • 索引文件
    • 索引顺序文件
  • 文件的物理存储分配方式

    • 连续分配:效率高,适合顺序访问。
    • 隐式链接:解决碎片问题,但不支持随机访问。
    • 混合索引方式:UNIX采用的方式。
  • 文件存储空间分配

    • 连续多个盘块存储文件内容,目录项包含文件起始地址和长度信息。
    • 树形目录结构:根结点表示根目录,枝结点表示子目录,叶结点表示文件。
  • 文件保护与共享

    • 文件保护:避免文件受到破坏。
    • 文件共享:允许多个用户共同使用同一个文件。

虚拟存储器

  • 基本特征
    • 多次性
    • 对换性
    • 虚拟性

设备管理

  • 设备控制器:是 CPU 和 I/O 设备之间的接口,接收来自 CPU 的 I/O 命令,并用于控制外设工作。
  • DMA控制方式:允许 I/O 设备和内存直接交换数据。
  • 中断驱动方式:CPU 以字节为单位进行干预。
  • DMA 方式:CPU 以数据块为单位进行干预。
  • 通道方式:CPU 以一组数据块为单位进行干预。

磁盘调度

  • 最短寻道优先算法:优先为离当前磁头最近的磁道上的请求服务。
  • 扫描算法:优先为当前磁头移动方向、离当前磁头最近的磁道上的请求服务。

死锁

  • 死锁产生的原因:竞争资源和进程推进顺序不当。

信号量机制

  • 记录型信号量机制:每次执行 P 操作意味着申请一个临界资源,此时应将 S.value 减 1。如果 S.value < 0,则进程应阻塞。

文件打开与管理

  • 文件打开操作:将文件的 FCB(文件控制块)或索引结点复制到内存中,并在用户和文件之间建立连接。

进程与线程的互斥与同步

  • 互斥机制:为了避免多个进程/线程同时进入临界区,同步机制应遵循四条准则:

    • 空闲让进
    • 忙则等待
    • 有限等待
    • 让权等待
  • 访问控制矩阵:通过访问控制表和访问权限表来实现。


进程同步

  • 同步机制:包括空闲让进、忙则等待、有限等待和让权等待四条准则。

进程调度

  • 模块功能:负责将对CPU的控制权转交给CPU调度程序。
  • 包括:切换上下文、切换到用户态、跳转到用户程序的适当位置并重新运行。

文件分配磁盘块的方法

  • 连续分配
  • 链接分配
  • 索引分配

程序执行条件

  • 程序必须放入一个进程,并送入内存(主存、存储)才能被CPU执行。

进程与程序的区别

  • 进程程序的一个实例,是程序的一次执行。

文件访问的用户类型

  • 拥有者
  • 其他

指令和数据的内存绑定

  • 绑定到内存地址的阶段:
    • 编译时期
    • 加载时期
    • 执行时期

信号量

  • 二进制信号量:其变化范围仅限于0和1,也称为互斥信号量。

互斥

  • 互斥是一次只有一个进程可以使用一个资源。

死锁的必要条件

  • 互斥
  • 占有并等待
  • 不可抢占
  • 循环等待

页面置换算法

  • 常用算法:
    • 先进先出 | FIFO
    • 最优置换
    • 最近最少使用

程序状态

  • 在执行中的程序被称为进程

进程间通信机制

  • 消息传递 | 管道
    • 包括:消息传递、管道和内存共享。

操作系统的作用

  • 操作系统负责计算机硬件的管理,在计算机用户和硬件之间充当中介。

文件的访问方法

  • 顺序访问
  • 直接访问

内存管理方式

  • 分页式
  • 分段式
  • 段页结合式

操作系统的资源分配

  • 操作系统负责计算机资源的分配。

操作系统的主要功能

  • 进程管理
  • 内存管理
  • 文件系统管理
  • 安全与保护

进程的内存空间

  • 包括:代码、堆栈、数据和堆。

CPU进程调度算法

  • 主要算法:
    • 先来先服务
    • 短作业优先
    • 优先级调度
    • 时间片轮转

写时复制 (COW)

  • 父进程和子进程开始时共享同一页面。

现代操作系统的基本特征

  • 并发
  • 共享

微内核操作系统结构

  • 基于层次化结构,采用了B/S模式面向对象技术。

进程与线程

  • 引入线程后:
    • 进程作为资源分配的基本单位。
    • 线程作为CPU调度和分派的基本单位。

信号量进行进程互斥

  • 临界区应置于P操作V操作之间。

程序链接方式

  • 静态链接
  • 装入时动态链接
  • 运行时动态链接

首次适应和最佳适应算法

  • 首次适应算法:空闲分区以空闲区起始地址递增的次序拉链。
  • 最佳适应算法:空闲分区以空闲区大小递增的次序拉链。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73293.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-SoVITS本地部署:低成本实现语音克隆远程生成音频全流程实战

文章目录 前言1.GPT-SoVITS V2下载2.本地运行GPT-SoVITS V23.简单使用演示4.安装内网穿透工具4.1 创建远程连接公网地址 5. 固定远程访问公网地址 前言 今天要给大家安利一个绝对能让你大呼过瘾的声音黑科技——GPT-SoVITS&#xff01;这款由花儿不哭大佬精心打造的语音克隆神…

JVM(基础篇)

一.初识JVM 1.什么是JVM JVM全称Java Virtyal Machine&#xff0c;中文译名 Java虚拟机 。JVM本质上是一个运行在计算机上的程序&#xff0c;他的职责是运行Java字节码文件(将字节码解释成机器码)。 2.JVM的功能 解释和运行&#xff1a;对字节码文件中的指令号&#xff0c;实时…

【高并发内存池】第四弹---深入理解PageCache:整体设计、核心实现及Span获取策略详解

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【Linux网络编程】【项目详解】 目录 1、pagecache 1.1、整体设计 1.2、核心实现 1.3、获取Span 1.3.1、获取一个非空的Span 1.3…

深入理解C语言数据结构之快速排序三路划分

在数据结构和算法的世界里&#xff0c;排序算法是基石一般的存在。快速排序作为一种高效的排序算法&#xff0c;以其平均情况下的优秀时间复杂度而被广泛应用。今天&#xff0c;让我们深入探讨快速排序的一种变体——三路划分的快速排序&#xff0c;看看它是如何在C语言中施展魔…

Java实现后量子密码(PQC)与国密算法(SM4)混合加密

以下是使用Java实现一种后量子密码(PQC)与国密算法(SM4)混合加密的示例方案。该方案结合了后量子密码的抗量子特性与国密算法的国产化合规要求,适合需要双重安全保障的场景。 一 . 方案验证 1.代码截图 2.运行测试 二 . 方案设计 密钥交换:使用后量子密码(如Kyber)生…

【SQL Server数据库备份详细教程】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

SpringBoot古典舞在线交流平台设计与实现

随着古典舞文化的普及&#xff0c;越来越多的人希望通过线上平台交流学习。幽络源作为一站式综合平台&#xff0c;致力于为用户提供免费源码、技术教程及网络兼职资源。本文将详细介绍基于SpringBoot的古典舞在线交流平台的设计与实现&#xff0c;帮助开发者快速搭建一个功能完…

关于绝对时间、人类时间、本地时间、时区时间的对比分析,结合编程场景(如Java)进行说明

以下是关于绝对时间、人类时间、本地时间、时区时间的对比分析&#xff0c;结合编程场景&#xff08;如Java&#xff09;进行说明&#xff1a; 1. 定义与核心区别 (1) 绝对时间&#xff08;Absolute Time&#xff09; 定义&#xff1a;不受时区影响&#xff0c;以固定时间起点…

go语言中的strings库

strings库 func EqualFold func EqualFold(s, t string) bool判断两个utf-8编码字符串&#xff08;将unicode大写、小写、标题三种格式字符视为相同&#xff09;是否相同。 func main() {fmt.Println(strings.EqualFold("hello", "hello")) //truefmt.…

Git冲突解决

目录 一、Git冲突产生的原因二、解决Git冲突的步骤1. 发现冲突2. 查看冲突文件3. 手动解决冲突4. 提交解决后的代码5. 完成合并 三、预防Git冲突的小技巧四、总结 在团队协作开发中&#xff0c;Git冲突是常见的问题。当多个开发者同时修改了同一个文件的不同部分&#xff0c;然…

Spring AOP + RocketMQ 实现企业级操作日志异步采集(实战全流程)

Spring AOP + RocketMQ 实现企业级操作日志异步采集(实战全流程) 📌 项目背景 在企业级微服务架构中,记录操作日志是一项刚需。传统方式常使用数据库直接写入或通过 Feign 调用日志微服务,但这样存在耦合高、主流程阻塞、扩展性差等问题。 为此,我们将使用: Spring …

Git Flow 分支管理策略

优势 清晰的分支结构&#xff1a;每个分支都有明确的用途&#xff0c;便于团队协作。 稳定的 master 分支&#xff1a;生产环境代码始终稳定。 灵活的发布管理&#xff1a;通过发布分支和热修复分支&#xff0c;可以灵活管理版本发布和紧急修复。 主要分支 master 分支 代表…

Altium Designer数模电学习笔记

模电 电容 **退耦&#xff1a;**利用通交阻直&#xff0c;将看似直流的信号中的交流成分滤除 &#xff08;一般用在给MPU供电&#xff0c;尽量小一些&#xff0c;10nf~100nf~1uf以下&#xff09; **滤波&#xff1a;**也可以理解为给电容充电&#xff0c;让电容在电平为低时…

光谱仪与光谱相机的核心区别与协同应用

一、核心功能与数据维度 ‌光谱仪‌ ‌功能定位‌&#xff1a;专注单点或线状区域的光谱分析&#xff0c;通过色散元件&#xff08;光栅/棱镜&#xff09;分离波长&#xff0c;生成一维或二维光谱曲线&#xff0c;用于量化光强、吸收率等参数‌。 ‌数据维度‌&#xff1a;输…

Pytorch中layernorm实现详解

平时我们在编写神经网络时&#xff0c;经常会用到layernorm这个函数来加快网络的收敛速度。那layernorm到底在哪个维度上进行归一化的呢&#xff1f; 一、问题描述 首先借用知乎上的一张图&#xff0c;原文写的也非常好&#xff0c;大家有空可以去阅读一下&#xff0c;链接放…

linux--时区查看和修改

查看当前时间和时区: 打开终端&#xff0c;输入以下命令查看当前的日期和时间设置&#xff1a; timedatectl修改时区: 使用 timedatectl 命令来修改时区&#xff1a; sudo timedatectl set-timezone <时区>例如&#xff0c;设置时区为北京时间&#xff08;中国标准时间&a…

在windows下安装windows+Ubuntu16.04双系统(上)

这篇文章的内容主要来源于这篇文章&#xff0c;给文章很详细的介绍了如何从windows下安装windowsubuntu16.04双系统。我刚开始装双系统都是参照这个方法&#xff0c;该作者前后更新了两个版本&#xff0c;在这里对其稍微进行整理一下。 一、准备&#xff1a;&#xff08;这里推…

如何获取thinkphp的所有发行版本

是的&#xff0c;你只需要一行代码 composer show topthink/think --all 然后做了一个小实验&#xff0c;神奇的事情发生了。是我眼睛花了吗&#xff1f; 命令也能模糊查询了吗&#xff1f;tp6也太。。。。

算法模型从入门到起飞系列——递归(探索自我重复的奇妙之旅)

文章目录 前言一、递归本质1.1 递归的要素1.2 递归特点 二、递归&迭代2.1 递归&迭代比较2.2 递归&迭代如何实现相同功能2.2.1 递归实现2.2.2 迭代实现2.2.3 性能对比 三、优雅的递归理解3.1 阶乘计算分解3.2 [DFS](https://blog.csdn.net/qq_38315952/article/deta…

Android 系统进程启动Activity方法说明

前面文章Android Activity的启动器ActivityStarter入口说到Activity的恢复执行是由 mRootWindowContainer.resumeFocusedTasksTopActivities(mTargetRootTask, mStartActivity, mOptions, mTransientLaunch)来实现的&#xff0c;下面就看下它的实现。 RootWindowContainer类的…