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

操作系统复习题

什么是线程?
线程(Thread):轻量级进程,是操作系统进行调度的最小单位。一个线程是一个任务(一个程序段)的一次执行过程。线程不占有内存空间,它包括在进程的内存空间中。在同一个进程内,多个线程共享进程的资源。一个进程至少有一个线程。
引入线程前后的区别?
(1)以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的基本单位的系统中,进程的切换是很频繁的。在切换中由于要保留当时的运行环境,还要设置新选中的进程的运行环境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系统进程的数量和进程的切换速度。(2)引进线程提高了系统的并行能力。线程作为进程内的一个可执行实体,减少了并行粒度。线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程提高系统的并行能力比采用进程更为有效
进程与线程的区别:
1、定义不一样,进程是执行中的一段程序,而一个进程中执行中的每个任务即为一个线程。
2.进程之间的资源是独立的,线程之间的资源是共享的
3.一个线程只可以属于一个进程,但一个进程能包含多个线程。
4.进程是操作系统中资源分配的基本单位,线程是操作系统中调度执行的基本单位。
5.线程无地址空间,它包括在进程的地址空间里。
6.线程的开销或代价比进程的小。
文件的物理存储结构有那三种方式
1.顺序文件
2.链接文件
3.索引文件
操作系统按所提供的功能进行分类,可以分为哪几类
1.批处理系统
2.分时操作系统
3.实时操作系统
4.网络操作系统
5.分布式操作系统
6.个人操作系统
操作系统的四大特性
1.并发性、
2.共享性、
3.虚拟性、
4.异步性
什么是死锁,形成死锁的条件
在两个或者多个并发进程中,如果每个进程持有某种资源而又等待其它进程释放它或它们现在保持着的资源,在未改变这种状态之前都不能向前推进,称这一组进程产生了死锁。通俗的讲就是两个或多个进程无限期的阻塞、相互等待的一种状态。
死锁产生的原因
1 因为系统资源不足。竞争不可抢占性资源,竞争可消耗性资源。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
死锁产生的四个必要条件:(有一个条件不成立,则不会产生死锁)
1.互斥条件:一个资源一次只能被一个进程使用
2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得资源保持不放
3.不剥夺条件:进程获得的资源,在未完全使用完之前,不能强行剥夺
4.循环等待条件:若干进程之间形成一种头尾相接的环形等待资源关系
解决死锁有哪几种方法
(1)死锁的预防。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。
(2)死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。银行家算法,寻找一个安全序列。
(3)死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就应把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。
什么是缓冲?为什么要引入缓冲?
缓冲即是使用专用硬件缓冲器或在内存中划出一个区域用来暂时存放输入输出数据的器件。 引入缓冲是为了匹配外设和CPU之间的处理速度,减少中断次数和CPU的中断处理时间,同时解决DMA或通道方式时的数据传输瓶颈问题。
什么是操作系统?操作系统的特征有哪些?设计基本目标是什么?
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。
1.并发性、
2.共享性、
3.虚拟性、
4.异步性
5.随机性;操作系统的运行是在一个随机的环境中。计算机设备可能在任何时间向处理系统发出中断请求,系统不知道运行的程序会做什么事情。
(1)方便性(极大方便了用户,使计算机变得易学易用)
(2)有效性(一层含义:提高系统资源的利用率;二层含义:提高系统的吞吐量)
(3)可扩充性(OS广泛采用微内核技术,能够方便地添加新的功能模块)
(4)开放性(遵循国际标准,使得各种软硬件能够彼此兼容)
操作系统的作用主要表现在哪几个方面?
什么是多道程序技术?引入该技术带来了哪些好处?
答:多道程序技术即是指在内存中存放多道作业,运行结束或出错,自动调度内存中另一道作业运行。多道程序主要优点如下:
(1)资源利用率高。由于内存中装入了多道程序,使它们共享资源,保持系统资源处于忙碌状态,从而使各种资源得以充分利用。
(2)系统吞吐量大。由于CPU和其它系统资源保持“忙碌”状态,而且仅当作业完成或运行不下去时才切换,系统开销小,所以吞吐量大。
什么是进程?引起进程创建的基本事件有哪些?
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础
1,系统生成时,系统会创建承担资源分配和管理的系统进程。
2,用户作业调入系统时,作业调度程序会为其创建进程。
3,层次结构系统中,为完成一些可并发执行的工作,进程可以创建一些附属进程(创建者为父进程,被创建者为子进程。)
进程的基本状态有哪些?各种状态是如何切换的
进程的基本状态有:就绪,阻塞,执行三种。
就绪到执行:进程调度
执行到就绪:时间片完
执行到阻塞:I/O请求或等待事件发生
阻塞到就绪:I/O完成或事件已发生
进程和程序的区别?
(1)进程是一个动态的概念,而程序是一个静态的概念。程序是指令的有序集 合,没有任何运动的含义,而进程是程序在处理机上的一次执行过程,具有生命 周期,它动态地被创建,并被调度执行,执行完成后消亡。
(2)进程具有并发性,而程序没有。
(3)进程是竞争计算机系统资源的基本.单位,也是处理机调度的基本.单位。
(4)若干不同的进程可以包含同一个程序,只要该程序所对应的数据集合不同即可。
(5)程序可以创建其它进程,而程序并不能形成新的程序。
什么是操作系统中的并发技术?
(1)并发
并发指两个或多个事件在同一时间间隔内发生。操作系统的并发性是指计算机系统中同时存在多个运行的程序,因此具有处理和调度多个程序同时执行的能力。在操作系统中引进程序 的目的是使程序能够并发执行。在多道程序环境下,一段时间内,宏观上有多道程序在同时执行,而在每一个时刻,单处理机环境下实际仅能有一道程序执行,因此微观上这些程序是分时交替执行的。操作系统的并发性是通过分时得以实现的。
(注意并发(同一时间间隔)与并行(同一时刻)的区别)
(2)并行
并行性是指系统具有同时进行运算或操作的特性,在同一时刻能完成两种或两种以上担任工作,并行性需要相关硬件的支持,例如流水线或多处理硬件环境。
什么是动态重定位?
动态重定位即在程序运行过程中要访问数据时再进行逻辑地址与物理地址的变换(即在逐条指令执行时完成地址映射)
页式存储管理的优缺点?
优点:有效地解决了碎片问题;缺点:程序的最后一页会有浪费空间的现象并且不能应用在分段编写的、非连续存放的大型程序中。
作业调度与进程调度之间的差别主要是:
作业调度是宏观调度,它所选择的作业只是具有获 得处理机的资格,但尚未占有处理机,不能立即在其上实际运行;而进程调度是微观调度,动态地把处理 机实际地分配给所选择的进程,使之真正活动起来。另外,进程调度相当频繁,而作业调度执行的次数一 般很少。
什么是系统调用
就是操作系统为用户程序提供的一些子功能,凡是与有关资源的都必须都由操作系统掌管,所以想用资源就通过系统调用,而且系统调用的相关处理必须在核心态下运行
在这里插入图片描述
页式存储管理的优缺点?
外部碎片是指还没有被分配出去,但是由于太小了而无法分配给申请空间的新进程的内存空闲区域。
所谓“内部碎片”,是指系统已经分配给用户使用、用户自己没有用到的那部分存储空间
优点:没有外碎片,每个内碎片不超过页的大小。
缺点:程序全部装入内存,要求有相应的硬件支持,如地址变换机构缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持。增加了机器成本和系统开销。
分页和分段的区别?
分页对程序员是透明的,但是分段需要程序员显式划分每个段。
分页的地址空间是一维地址空间,分段是二维的。
页的大小不可变,段的大小可以动态改变。
分页主要用于实现虚拟内存,从而获得更大的地址空间;分段主要是为了使程序和数据可以被划分为逻辑上独立的地址空间并且有助于共享和保护。
虚拟存储器有哪些特征?
虚拟存储器是具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的存储器系统。虚拟存储器有如下3个特性:
多次性,一个作业分多次调入内存运行。
对换性,作业运作业行过程中在内存和外存对换区之间换进、换出。
虚拟性,从逻辑上对内存容量进行扩充。
什么是程序的局部性原理?
即在一较短的时间内,程序的执行仅局限于某个部分,相应地,它所访问的存储空间也局限在某个区域。局部性主要表现在以下2个方面:
(1)时间局部性。如果程序中的某条指令一旦执行,则不久以后该指令可能再次执行;如果某个数据被访问,则不久以后该数据可能被再次访问。产生局部性的典型原因是程序中存在中大量的循环操作。
(2)空间局部性。一旦程序访问了某个存储单元,则不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围内,其典型情况是程序的顺序执行。
可以通过哪些途径提高内存利用率?
1)改连续分配为离散分配;
2)增加对换机制;
3)引入动态链接机制;
4)引入虚拟存储器机制;
5)引入存储器共享机制。
有哪几种I/O控制方式?
有四种I/O控制方式,分别是:
程序I/O控制方式;
中断驱动I/O方式;
直接存储器访问DMA I/O控制方式;
I/O通道控制方式。
为什么要引入设备独立性?有哪些好处?
(1)设备独立性也称设备无关性,指应用程序与实际使用的物理设备无关,亦即它独立于具体的物理设备。用户程序中使用逻辑设备,由操作系统完成逻辑设备到物理设备的映射。
)引入设备独立性可带来三个方面的好处:设备分配的灵活性、易于实现I/O重定向、方便用户编程。
简单介绍一下SPOOLING技术?
SPOOLing 技术就是利用多道程序中的一道程序来模拟脱机输入时的外围控制机的功能,把低速 I/O 设备上的数据传送到高速磁盘上;用另一道程序来模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输出设备上。这样,便在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与 CPU 对数据的处理同时进行,这种在联机情况下实现的同时外围操作称为 SPOOLing ,或称假脱机操作。
SPOOLing技术的组成如下三部分:
(1)输入井和输出井;
(2)输入缓冲区和输出缓冲区;
(3)输入进程SPi和输出进程SPo;
文件系统主要有哪几部分组成?
文件目录、
文件的组织、
文件存储空间的管理、
文件操作和
文件的安全措施几个部分组成。
文件的逻辑结构与物理结构?
文件的逻辑机构是从用户的观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。文件的物理结构,又称为文件的存储结构,是指文件在外存上的存储组织形式。这不仅与存储性能有关,而且与所采用的外存分配方式有关。
文件的物理结构可以分为哪几类?
(1)顺序结构 顺序结构(又称连续结构)是一种最简单的物理文件结构,该结构将一个在逻辑上连续的文件信息依次存放在外存连续的物理块中。
(2)链接结构 链接(又称串联)结构将文件存放在外存的若干个物理块中,这毕物理块不必连续,并在每一个物理块中设一个指针,指向下一个物理块的位置,使得存放同一个文件的物理块链接起来。
(3)索引结构 索引结构将文件存放于外存的若千个物理块中,并为每个文件建让一个索引表,索引表中的每个表目存放文件信息所在的逻辑块号和与之对应的物理块号。

在这里插入图片描述

相关文章:

操作系统复习题

什么是线程? 线程(Thread):轻量级进程,是操作系统进行调度的最小单位。一个线程是一个任务(一个程序段)的一次执行过程。线程不占有内存空间,它包括在进程的内存空间中。在同一个进程…...

web项目的初始化

Tomcat 安装配置 Tomcat 官方站点:Apache Tomcat - Welcome! 。 安装 得到下载的安装包(一般是 zip 文件),并解压到你指定的目录(建议不要解压在 c 盘);(这里以 windows10 系统为例…...

29- 迁移学习 (TensorFlow系列) (深度学习)

知识要点 迁移学习: 使用别人预训练模型参数时,要注意别人的预处理方式。 常见的迁移学习方式: 载入权重后训练所有参数.载入权重后只训练最后几层参数.载入权重后在原网络基础上再添加一层全连接层,仅训练最后一个全连接层.训练数据是 10_m…...

工具篇(五)炫酷排版,尽在LaTeX:让你的文档飞升吧!

作者的话 作为一个文本排版工具,latex一直以来都备受科研工作者、学生和出版社的青睐。但是对于初学者来说,latex的学习曲线可能会有些陡峭。因此,我写这篇博客旨在为初学者提供一个简单易懂的latex教程,让大家能够快速入门并掌握…...

【蓝桥杯PythonB组备赛】【Acwing周赛】第93场 4867. 整除数 4868. 数字替换 python解

目录 A AcWing 4867. 整除数 1.题目描述 2.思路分析 3.代码实现 B AcWing 4868. 数字替换 1.题目描述 2.思路分析 3.代码实现 A AcWing 4867. 整除数 1.题目描述 2.思路分析 为什么不能直接暴力? 数据:1 ≤ n, k ≤ 10 ** 9 1s内最多…...

KNN学习报告

原理 KNN算法就是在其表征空间中,求K个最邻近的点。根据已知的这几个点对其进行分类。如果其特征参数只有一个,那么就是一维空间。如果其特征参数只有两个,那么就是二维空间。如果其特征参数只有三个,那么就是三维空间。如果其特征…...

Java奠基】方法的讲解与使用

目录 方法概述 方法的定义与调用 方法的重载 方法的值传递 方法概述 方法是程序中最小的执行单元,在实际开发中会将重复的具有独立功能的代码抽取到方法中,这样可以提高代码的复用性和可维护性。 方法的定义与调用 在Java中定义方法的格式都是相同…...

字符串hash

K - 子串翻转回文串2020ccpc河南省赛字符串哈希:将字符串变成x进制数对公式的理解:举个十进制数的例子:123456h[1]1;h[2]1*10212;h[3]12*103123;h[4]123*1041234;.........h[i]h[i-1]*xa[i];h[i]代表的恰巧是整个数的前缀用p[i]表…...

试题 算法训练 转圈游戏

问题描述 n个小伙伴(编号从0到n-1)围坐一圈玩游戏。按照顺时针方向给n个位置编号,从0到n-1。   最初,第0号小伙伴在第0号位置,第1号小伙伴在第 1 号位置,……,依此类推。   游戏规则如下&am…...

【uni-app教程】九、运行环境判断与跨端兼容

(1)开发环境和生产环境 uni-app 可通过 process.env.NODE_ENV 判断当前环境是开发环境还是生产环境,一般用于连接测试服务器或生产服务器的动态切换。 在HBuilderX 中,点击「运行」编译出来的代码是开发环境,点击「发行…...

扩展WSL2虚拟硬盘的大小

扩展WSL2虚拟硬盘的大小 1、在 Windows PowerShell 中终止所有 WSL 实例 wsl --shutdown2、查看 WSL 实例运行状态,确认关闭,并记住发行版的名称 wsl -l -v如果没有更改移动过发行版安装包位置,那么可以通过以下方法查找到发行版的安装包位…...

Win系统蓝牙设备频繁卡顿/断连 - 解决方案

Win系统蓝牙设备频繁卡顿/断连 - 解决方案前言常见网卡Intel无线网卡(推荐)Realtek无线网卡总结查看本机网卡解决方案更新驱动更换网卡(推荐)前言 无线网卡有2个模块,一个是WiFi,一个是蓝牙,因…...

Git学习入门(2)- 基本命令操作总结

个人博客:我的个人博客,各位大佬来玩1 创建 git仓库1.1 从现有工作目录中初始化新仓库需要到你需要用git管理的项目中输入以下命令:git init便会创建一个空的git项目,并且当前目录下会出现一个名为 .git 的目录, Git 需…...

SPringCloud:Nacos快速入门及相关属性配置

目录 一、Nacos快速入门 1、在父工程中添加spring-cloud-alilbaba的管理依赖 2、如果有使用eureka依赖,将其注释 3、添加nacos的客户端依赖 4、修改yml文件,注释eureka配置 5、启动测试 二、Nacos相关属性配置 1、Nacos服务分级存储 2、根据集群…...

医疗器械之模糊算法(嵌入式部分)

模糊控制 所谓模糊控制,就是对难以用已有规律描述的复杂系统,采用自然语言(如大,中,小)加以描述,借助定性的,不精确的以及模糊的条件语句来表达,模糊控制是一种基于语言的…...

网上销售笔记本系统

技术:Java、JSP等摘要:本文讲述了基于B/S模式的笔记本电脑在线销售系统的设计与实现。所谓的笔记本电脑在线销售系统是通过网站推广互联企业的笔记本电脑和技术服务,并使客户随时可以了解企业和企业的产品,为客户提供在线服务和订…...

MySQL基础查询操作

文章目录🚏 Select语句🚀 一、SQL底层执行原理🚬 (一)、查询的结构🚬 (二)、SQL语句的执行过程🚭 1、WHERE 为什么不包含聚合函数的过滤条件?(面试…...

English Learning - L2 语音作业打卡 小元音 [ʌ] [ɒ] Day9 2023.3.1 周三

English Learning - L2 语音作业打卡 小元音 [ʌ] [ɒ] Day9 2023.3.1 周三💌发音小贴士:💌当日目标音发音规则/技巧:🍭 Part 1【热身练习】🍭 Part2【练习内容】🍭【练习感受】🍓元音 [ʌ]&…...

Condition 源码解读

一、Condition 在并发情况下进行线程间的协调,如果是使用的 synchronized 锁,我们可以使用 wait/notify 进行唤醒,如果是使用的 Lock 锁的方式,则可以使用 Condition 进行针对性的阻塞和唤醒,相较于 wait/notify 使用…...

看完这篇入门性能测试

大家好,我是洋子。最近组内在进行服务端高并发接口的性能压测工作,起因是2023年2月2日,针对胡某宇事件进行新闻发布会直播,几十万人同时进入某媒体直播间,造成流量激增 从监控上可以看出,QPS到达某峰值后&…...

【JavaEE】-- HTTP

1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

Selenium常用函数介绍

目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

恶补电源:1.电桥

一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...