首页 > 其他分享 >操作系统一些常见疑问总结

操作系统一些常见疑问总结

时间:2024-10-28 11:20:17浏览次数:8  
标签:总结 操作系统 程序 应用程序 地址 进程 资源 疑问

操作系统的定义和特性:

定义:

  1. 操作系统是核心系统软件,负责计算机系统软件硬件资源的分配和使用;
  2. 控制和协调并发活动;
  3. 提供用户接口,使用户获得良好的工作环境;

特性:

  1. 并发
  2. 共享
  3. 不确定性

什么是多道程序设计技术?试述多道程序运行的特征。

多道程序设计技术是指同时把多个作业(程序)放入内存并允许它们交替执行和共享系统中的各类资源;当一道程序因某种原因(如IO请求〉而暂停执行时,CPU立即转去执行另一道程序。

多道程序运行具有如下特征:多道计算机内存中同时存放几道相互独立的程序。

宏观上并行:同时进入系统的几道程序都处于运行过程中,它们先后开始了各自的运行,但都未运行完毕。

微观上串行:从微观上看,内存中的多道程序轮流或分时地占有处理机,交替执行。

什么是操作系统?操作系统的主要特性是什么?

操作系统是管理计算机硬件与软件资源、为计算机用户提供交互接口的系统软件。它是计算机系统的核心组件,负责协调和控制计算机系统的所有操作。

特性:并发、共享、虚拟、异步

什么是操作系统虚拟机

 操作系统虚拟机是一种计算机软件,它模拟了计算机系统的一部分,使得多个独立的操作系统可以在同一物理硬件上同时运行。虚拟机技术是虚拟化技术的一种形式,它通过创建虚拟环境来模拟真实的硬件资源,允许用户在一台计算机上安装和运行多个操作系统,而不会相互干扰。

什么是处理机的态?为什么要区分处理机的态?

管态和用户态

  1. 安全性:通过区分用户态和内核态,操作系统可以保护系统的稳定性和安全性。在用户态下运行的程序不能直接执行特权指令或访问受保护的系统资源,从而防止了恶意或错误的程序对系统造成破坏。

  2. 稳定性:如果应用程序在执行过程中崩溃,由于它运行在用户态,通常只会影响该应用程序本身,而不会导致整个系统崩溃。

  3. 资源管理:内核态下的操作系统可以完全控制硬件资源,进行有效的资源分配和管理。这包括内存管理、进程调度、设备驱动程序等。

  4. 隔离性:用户态为应用程序提供了执行环境,每个应用程序都认为自己在独占使用处理器和内存,这种隔离减少了应用程序之间的相互干扰。

  5. 系统调用:当应用程序需要执行某些只有操作系统才能执行的操作(如文件I/O、网络通信等)时,它必须通过系统调用从用户态切换到内核态,完成操作后再返回用户态。

什么是中断?在计算机系统中为什么要引进中断?

所谓中断,是指某个事件发生时,系统中止现行程序的运行、引出处理该事件的程序进行处理,处理完毕后返回断点,继续执行。

为了实现并发活动,为了实现计算机系统的自动化工作,系统必须具备处理中断的能力。所以要引进中断。

处理应用程序分哪几个步骤?这些步骤之间有什么关系?

  1.  编辑(修改):建立一个新文件,或对已有的文件中的错误进行修改。

2、  编译:将源程序翻译成浮动的目标代码。

3、  连接:将主程序和其他所需要的子程序和例行程序连接装配在一起,使之成为一个可执行的、完整的、主存映像文件。

4、  运行:将主存映像文件调入主存,并启动运行,最后得出计算结果。

这的个步骤是相互关联的,顺序地执行的。

具体表现为:每个步骤处理的结果产生下一个步骤所需的文件,一个步骤能否正确的执行,依赖于前一个步骤是否成功的完成。

静态连接和动态链接有什么区别?

什么是系统功能调用?对操作系统的服务请求与一般的子程序调用有什么区别?

系统调用是用户在一级请求操作系统服务的一种手段,是带有一定功能符号的访管指令。

区别:

操作系统服务例程与一般子程序的区别在于,操作系统服务例程实现的功能都是与计算机系统本身有关的,对它的调用是通过一条访管指令来实现的。不同的程序设计语言调用方式不同。

产生死锁的原因和必要条件?

互斥:多个进程需要同时访问某个资源,而该资源又只能被一个进程占用。

占有和等待:进程在请求资源时,可能已经占有了部分资源,同时还在等待其他资源。

不可抢占:资源在分配给进程后,不能被强制性地抢占,只能由占有该资源的进程显式地释放。

循环等待:存在一个进程等待其他进程所占有的资源,而这些进程又在等待其他进程所占有的资源,形成了一个循环等待链。

预防死锁的方法有以下几种:

破坏互斥条件:通过资源共享或者资源复制来降低资源的互斥性,但这并不总是可行,因为某些资源的互斥性是必须的,例如打印机、数据库连接等。

破坏占有和等待条件:让进程在申请资源之前,必须先释放掉已经占有的资源。这样可以避免进程在等待其他资源时,仍然占用其他资源。

破坏不可抢占条件:允许操作系统强制性地抢占进程占有的资源,这样即使进程在等待其他资源时,也可以强制性地释放已经占有的资源。

破坏循环等待条件:为资源分配一个全局的顺序,进程只能按照资源的顺序来请求资源,这样可以避免形成循环等待链。

什么是逻辑地址?什么是物理地址?为什么要进行两者的转换工作?

逻辑地址:是指用户程序经编译后,每个目标模块以0为基地址进行的顺序编址。逻辑地址又称相对地址 。

物理地址:是指内存中各物理存储单元的地址从统一的基地址进行的顺序编址。物理地址又称绝对地址,它是数据在内存中的实际存储地址。

处理机在执行时必须使用物理地址才能从主存中存取信息,而应用程序使用的地址是逻辑地址,改地址并非处理机能正确识别的地址,故需要转换。

什么是静态地址重定位?它需要什么支持?

在程序装入过程中随即进行的地址变换方式称为静态地址映射或静态重定位。

进行静态重定位要求被装入的程序本身是可以重定位的。(软件支持:重定位装入程序)

什么是动态地址重定位?它需要什么支持?

动态地址映射是指在程序执行期间,随着每条指令和数据的访问,自动地、连续地进行映射。

这种重定位的实现需要硬件的支持。最简单的硬件机构是一个重定位寄存器。

标签:总结,操作系统,程序,应用程序,地址,进程,资源,疑问
From: https://blog.csdn.net/2201_75520408/article/details/143287778

相关文章

  • 操作系统笔记整理
    操作系统笔记整理第一章操作系统引论1、OS是配置在计算机硬件上的第一层软件。(P1)2、OS的目标:在计算机系统上配置OS,其主要目的是实现:方便性、有效性、可扩充性、开放性。(P2)3、OS的作用:可以从人机交互、资源管理及资源抽象等不同方面分析OS在计算机系统中所起的作用。(P3)......
  • JavaWeb知识点总结 我的学习笔记
    JavaWeb我的学习笔记一、动态网页开发1.动态网页2.系统架构C/S架构B/S架构B/S与C/S的比较3.URL通信三要素4.Tomcat服务器二、Servlet1.Servlet简介2.Servlet快速入门入门样例执行原理3.Servlet的体系结构4.servlet的十大方法5.Servlet生命周期6.在web.xml中配置servl......
  • 【已解决,含泪总结】非root权限在服务器Ubuntu18.04上配置python和torch环境,代码最终成
    配置torch环境pip升级因为一些包安装不成功可能和pip版本有关,所以先升级pip吸取之前python有多个版本的经验,所以我指定了Python版本的pip进行升级就是python3.8版本:/home/某某/Python3.8/bin/python3.8(要换成你实际的python位置)/home/某某/Python3.8/bin/python3.8-......
  • 2024-2025-1 20241325王向龙《计算机程序与设计》第五周学习总结
    这个作业属于哪个课程2024-2025-1-计算机基础与程序设计)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标①Pep/9虚拟机②机器语言与汇编语言③算法与伪代码④测试:黑盒,白盒作业正文本博客链接https://www.cnblogs.com/wangxiang......
  • 2024-2025-1 20241416《计算机基础与程序设计》第五周学习总结
    这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第五周作业这个作业的目标 Pep/9虚拟机、机器语言与汇编语言、算法与伪代码、测试:黑盒,白盒作业正文 https://www.cnblogs.com/rockytyh/p/18509171教材学习内容总结......
  • 2024-2025-1 20241421刘庆安《计算机基础与程序设计》第五周学习总结
    这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标 ①Pep/9虚拟机 ②机器语言与汇编语言 ③算法与伪代码 ④测试:黑盒,白盒 作业正文 本博客链接https://www.cnblogs.com/118q......
  • # 学期(如2024-2025-1) 学号(:20241405) 《计算机基础与程序设计》第5周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标Pep/9虚拟机、机器语言与汇编语言、算法与伪代码、测试:黑盒,白盒作业正文https://www.cnbl......
  • 2024-2025 -1 20241326《计算机基础与程序设计》第五周学习总结
    这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标学习pep/9虚拟机的相关知识,以及机器语言和汇编语言;完成计......
  • 2024-2025-1 20241329 《计算机基础与程序设计》第五周学习总结
    作业信息作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05作业目标:Pep/9虚拟机、机器语言与汇编语言、算法与伪代码、测试:黑盒,白盒作业正文:https://www.cnblogs.com/incamellia/p/18508448......
  • 2024-2025 20241323 第五周学习总结
    赋值运算符(=):=用于将右侧的值或表达式的结果赋给左侧的变量。例如:inta=5;这行代码将整数5赋给变量a。赋值操作会改变变量的值,并返回一个与左侧变量类型相同的值(在大多数现代C编译器中,赋值操作的结果未使用是合法的,但不被推荐作为好的编程实践,因为它可能导致代码难以阅读和......