Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 Operating System_IT技术博客_编程技术问答 - 「Fatal编程技术网」

Operating system 服务器的最佳操作系统是什么?

您认为web服务器的最佳操作系统是什么 如果可能,请列举优点和缺点,如果有…这实际上取决于Web服务器的功能。它应该提供什么服务?是否应该有一个主页,应该使用什么语言,等等。这实际上取决于Web服务器的功能。它应该提供什么服务?是否应该有一个主页,应该用什么语言,等等。我想说的是——以其稳定性而闻名。我曾经是一家主机提供商的管理员——我们使用过它,从来没有遇到过问题。我想说——以它的稳定性而闻名。我曾经是一家主机提供商的管理员——我们使用过它,从来没有遇到过问题。Linux或Windows都可以

Operating system 即使不使用一行C/C+,也能编写整个操作系统吗+;密码?

即使不使用一行C/C++代码也能编写整个操作系统吗 编辑:再添加一个到列表中-程序集确定。您可以使用纯汇编语言或选择不同的高级语言 但你通常不想。因为现代操作系统中所需的汇编代码量相当低。操作系统中的大多数代码不需要那么低的a级别 C提供了一个很好的中间抽象层,它仍然允许编写相当低级的代码,而不必处理汇编程序开发人员需要处理的所有细节 编辑:从方程式中删除部件后,它将变得更加复杂。建立一个体面的操作系统需要执行几个机器代码指令,这些指令根本不是用高级语言表示的(因为它们非常、非常特定于机器)。理

Operating system 支持虚拟内存的硬件上的非VM操作系统

是否可以在支持虚拟内存的硬件上使用不支持虚拟内存的操作系统 换句话说,如果硬件使用虚拟内存系统,操作系统是否必须支持虚拟内存 例如,据我所知,MS-DOS不支持虚拟内存,但它在支持虚拟内存的x86处理器上运行 反之亦然,是否可以在不支持虚拟内存的硬件上使用支持虚拟内存的操作系统 例如,嵌入式linux使用虚拟内存,部署在各种架构上,如ARM、MIPS、SuperH、AVR;它们都支持虚拟内存系统吗 感谢硬件支持虚拟内存,但这并不意味着您必须使用它。操作系统支持虚拟内存,但这并不意味着它们必须使用

Operating system 如何判断SP1是否安装在Windows Server 2008 R2标准上?

我被授予访问服务器的权限,并被告知服务器上安装了SP1,但我想可能不是。 如何检查Windows Server 2008 R2上是否安装了Service Pack 1 我所尝试的: 如果我右键单击“计算机”,然后单击“属性”,Windows版本下会显示“Windows Server 2008 R2”。如果安装了Windows Server 2008 R2 Service Pack 1,我希望它会显示“Windows Server 2008 R2 Service Pack 1”,但我确实在Wind

Operating system 为什么可以';是否有线程进行阻塞系统调用(用户级线程)?

我正在读《现代操作系统》(第四版)。我对这一段不太确定 尽管性能更好,但用户级线程包有一些主要的 问题。首先是如何实现阻塞系统调用的问题。 假设一个线程在任何键被激活之前从键盘读取数据 被击中了。让线程实际执行系统调用是不可接受的,因为 这将停止所有线程 如果一个线程阻塞等待输入,那么另一个线程就不能停止做其他事情吗?为什么它会“停止所有线程”?用户级线程在用户代码中实现;它们不是由内核单独调度的。所有用户级线程都在单个内核调度任务的上下文中运行,因此一个线程不能抢占另一个线程。因此,当一个用户

Operating system 创建更多特权环

据我所知,在大多数操作系统中有两个特权环:内核模式和用户模式。操作系统开发人员是否可以创建其他特权环,如中间件模式或内核模块模式?这取决于处理器体系结构。IA-32(以及AMD64)实际上支持四个特权级别(环)——环3(用户模式)和环0(内核模式)。您可以通过操纵全局/局部描述符表(GDT/LDT)在其他环(1或2)上执行代码 实际上,虚拟机监控程序出于性能原因利用了其他环级别(虚拟机内核在环1上而不是在环0上执行,并且只对只能在环0上执行的特权指令进行了乳化).我问过如何通过软件创建更多特权环

Operating system 进程间通信、操作系统、管道

我在一本书中读到,为了在两个进程之间使用管道进行进程间通信,最好使用两个管道,一个用于孩子在其中写字,另一个用于父亲阅读,另一个用于相反的通信。为什么这是一个更好的方法?我们不能只使用一个管道,以便父级和子级都可以读取和写入它吗?您需要一种方法来协调进程之间的通信,否则进程将反复读取/写入它所写/读取的内容。e、 g.如果使用一根管道: //parent while(1) { write(p1); //need a logic to wait so as to read what

Operating system 是";“保护环”;及;“CPU模式”;同样的事情?

我知道CPU有特殊的寄存器来跟踪CPU的运行模式。 我认为“保护环”和“CPU模式”是一样的,但是 当我读到维基百科上关于“保护环”的文章时, 我对什么是真正的“保护环”感到困惑。 我感到困惑的是维基百科文章中的以下几行: 在某些系统中,环保护可以与处理器模式(主/内核/特权/主管模式与从/非特权/用户模式)相结合。在支持两者的硬件上运行的操作系统可以使用两种保护形式,也可以只使用一种 那么,“保护环”是操作系统级抽象吗? “保护环”和“CPU模式”有什么区别? 如有任何进一步解释,我们将不胜感

Operating system 在C的readline库中使用add_history()时出现问题

我在自己做一个贝壳。现在,readline库中有一个不错的选项来存储命令历史记录。它在工作,但有一个问题。当发出的命令长度不同时,当我恢复它们时,它们会以某种奇怪的方式改变我的显示。我以前在Ubuntu 16.xx中也遇到过这个问题。到目前为止,我正在使用Ubuntu 18.04,这样的问题没有发生。有关如何在使用向上箭头键时保持显示的任何帮助。我已附上以下问题的屏幕截图:

Operating system APU(如apple m1 mac)上的内存复制是否使用GPU特定的宽向量指令?

我在读这篇文章,其中的主要区别似乎是mmap使用AVX-2等向量指令的能力,而这是系统调用无法做到的 我知道GPU使用的SIMD指令往往更广泛。一种大小为32的Nvidia扭曲,在32=1024位(?)与AVX-2的256位上运行。因此可能会有4倍的加速。我猜这不是在传统的离散gpu设置中使用的,因为主机到设备(和后台)拷贝将超过宽寄存器带来的任何好处 然而,在APU中,GPU与CPU共享内存,无需这些昂贵的拷贝。我想知道这些GPU指令是否可以用来进一步加速类似mmap的向量操作(numpy是另

Operating system 在监控模式下不会触发外部中断

我正在写一个玩具内核来学习操作系统。我的目标是RISC-V机器(virtinqemu)。我尝试将中断委托给主管模式,但我不知道为什么它不起作用 根据我在特权体系结构手册中所读的内容,我需要在mieCSR中为主管启用异常,并在mideleg和medelegCSR中设置我要委派的异常位。但这样做不会在外部中断挂起时引发任何异常 软件中断工作,它们在S模式下被触发和接收,但外部中断甚至没有触发(甚至在M模式下也没有) 为了了解发生了什么,我尝试使用gdb并观察mip寄存器的变化。 我用机器的UART0

Operating system 项目阶段的高级描述

我试图对程序生命周期中从源代码到执行的不同阶段进行高级描述 要点: 预处理:在此阶段处理宏、包含文件和编译器指令 编译:源文件被编译成obj文件 链接器:不同的obj文件链接到单个可执行文件。在此阶段,虚拟地址被分配给可执行文件中的函数、变量和数据。对于32位机器,每个进程有4GB的地址空间。操作系统预留1-2GB。因此,2-3 GB的地址空间可以分配给任何进程 执行:在程序执行期间,加载器进入画面。它基本上将程序从虚拟地址空间加载到物理内存地址。所以,当进程开始执行时,操作系统为进程分配内存

Operating system ';操作系统&x27;和';命令Shell';?

“操作系统”和“命令外壳”有什么区别?外壳和操作系统是不同的。让我解释一下 操作系统是由BIOS或EFI启动的程序。操作系统控制硬件的低级方面,并向软件提供API以使用它们。操作系统通常是一个内核和一组应用程序的集合。操作系统的例子有Window$、macosx、UNIX、Ubuntu、Solaris。请注意,Linux不是一个操作系统,而是一个内核,它是操作系统中最重要的部分 shell是在操作系统上运行的应用程序,它向操作系统提供用户界面。shell的示例有bash、sh、cmd.exe和w

Operating system VMWare上具有相同来宾操作系统、不同主机操作系统的线程同步行为

我是计算机科学课程的助教,遇到了一个有趣的问题。最近的一项任务涉及pthread的同步技术。学生们必须使用互斥锁、障碍、条件变量等来避免死锁。。。每个学生都在VMWare虚拟机上运行相同版本的Ubuntu,可以是工作站,也可以是Fusion,具体取决于他们的系统。显然,每个学生的主机操作系统可能不同 现在让人困惑的是:一些学生的同步行为与我运行他们的程序时看到的非常不同。对于一些学生,我可能会运行她的作业,并立即看到死锁。然而,当她在家里运行它时,她从未遇到过僵局 根据我的理解,死锁行为似乎只依

Operating system Windows2000上的Java7

我用Java1.7制作了一个Java应用程序,我的问题是它没有在Windows2000上运行。它告诉我“这不是一个WIN-32应用程序” 如何在上面运行我的应用程序?这不是一个直接的答案,但Java 7(至少是Oracle实现)是 .您是否安装了Java运行时?您是如何运行应用程序的?@Juho No我使用批处理文件运行应用程序。在这个批处理文件中,我从一个目录启动应用程序,在这个目录中是java jreset CDJRE=java\u vm\jre1.7\bin start%CDJRE%\ja

Operating system 内核运行ISR例程时的限制

内核模式和ISR例程中的一些重要注意事项和不注意事项是什么? 比如说- 运行中断处理程序时是否禁用了上下文切换 当一个进程在一个关键进程内时,上下文切换会发生吗 部门 内核模式内的哪些情况值得禁用进一步的中断 为什么进程切换会发生在页面错误上,即进程从磁盘获取数据,但不会发生在其他中断期间。 您如何对可执行路径是否可以被中断/重新调度/抢占进行分类 当进程处于内核模式或处理ISR例程时,还需要记住哪些事情?简言之:没有上下文切换,永远都不 这意味着: 不先发制人 互斥锁上没有锁(请改用自旋

Operating system 如何在长模式(即64位模式)下通过64位平面分页内存模型执行堆栈操作?

正如我们所知,TSS不会长期存储通用寄存器和CR3 如何保存和恢复通用寄存器和参数 我很难理解在长模式下如何执行堆栈操作,请解释一下。这个问题需要更清楚一点。你在说什么建筑 对于保存/恢复问题,您可能希望在网络中搜索所需体系结构上的过程调用约定。例如,这里有一个来自CMU的AMD64:问题需要更清楚一点。你在说什么建筑 对于保存/恢复问题,您可能希望在网络中搜索所需体系结构上的过程调用约定。例如,这里有一个用于CMU的AMD64:IA-32e 64位处理器,64位长模式体系结构。IA-32e 6

Operating system 操作系统如何决定进入每个页面的数据?

我有一个逗号分隔的数据文件,假设每个记录都是固定长度的。 操作系统(Linux)如何确定哪些数据部分保存在硬盘的一页中 它是否只是查看文件,将记录一个接一个(按顺序)组织到一页中?是否可以通过编程方式设置此选项,或者操作系统是否会自动处理此选项?您的问题非常笼统—您没有指定哪个操作系统或文件系统—因此答案也将是肯定的 一般来说,操作系统不会检查写入文件的数据。它只是将数据写入足够的磁盘扇区以容纳数据。如果扇区大小为4K,则将字节0-4095写入第一个扇区,将字节4096-8191写入第二个扇区,

Operating system 如何解决RHCSA认证变体的错误

我试图验证RHCSA证书,但消息来源给我的消息如下 与此证书ID关联的用户尚未映射其或 她的ID是redhat.com登录名。如果这是您的认证ID错误 您引用的错误消息的其余部分提供了一个更详细地解释问题的示例: Red Hat Certified Professionals(RHCP)必须将其认证ID与redhat.com登录名相关联,以便在验证页面上验证其认证或在搜索中找到其认证 本页还提供了有关如何做到这一点的说明: 点击右上角的“人”图标(中间是一个)。 如果您已经有个人帐户,请登录该帐

Operating system 根据操作系统的不同,在内存中存储文件名需要多少字节?

让我创建一个新文件夹并命名为“parentFolder”,然后计算存储该文件名所需的字节数 这是一次采访中提出的问题 谢谢。如果我有代表,我会将此作为评论: 我真的不知道有什么好方法可以在没有特定文件系统的情况下确定这一点,即使这样,这似乎也是一个奇怪的问题。也许面试官只是想看看你是否知道字符串通常是如何存储的?如果我得到了这个问题,并且没有得到更多关于哪个操作系统的澄清(或者即使我得到了,因为我不太熟悉每个操作系统如何存储它们的文件夹名),我会按照以下方式回答:,“可能是字符串中的字符数加上空

Operating system 单处理器环境能防止竞争情况吗?

当多个处理器工作时,这些进程同时工作。当多个线程访问某个公共数据区域时会发生争用情况,其中一个线程可能会覆盖另一个线程的值 那么,如果它是一个单处理器和单核环境,它能防止竞争情况的发生吗 请帮我澄清这一困惑,谢谢。单处理器环境中可能会发生竞争情况。当输出取决于其他不可控事件的顺序或时间时,会发生As per Wiki 单处理器环境可以支持同一进程的多个线程或不同进程的多个线程,这些线程可能正在等待另一个线程在资源上生成。死锁也可能发生在单处理器环境中 情景: T1:希望将员工记录添加到文件“e

Operating system 在操作系统的上下文中,为什么需要像testAndSet这样的原子指令来实现互斥?

我还有几个额外的问题:繁忙等待有哪些问题,在什么情况下使用繁忙等待可以/合适?除了忙着等待,还有别的选择吗 在操作系统的上下文中,为什么需要像testAndSet这样的原子指令来实现互斥 这是必需的,因为通常给定的执行线程不知道何时可以暂停执行。假设您必须先执行检查机器指令,然后执行设置机器指令。执行“检查”指令后,内核可能会中断,内核会切换到第二个线程,该线程会在同一个互斥体上运行检查和设置指令,这是可能的(尽管发生这种情况的可能性很小)。现在,当原始线程继续运行时,由于通过了“check”指

Operating system 请求分页在不增加周转时间的情况下提高了吞吐量

在按需分页中,当进程需要页面时,页面从磁盘读入内存。 这会导致磁盘I/O的开销,并使进程等待 现在,我读了一行(摘自Galvin的《操作系统概念》一书《虚拟内存》一章)指出,请求分页在不增加响应时间或周转时间的情况下提高了吞吐量 我同意按需分页会增加吞吐量,但如果涉及磁盘I/O,如何在不增加周转时间的情况下实现这一点 示例 考虑在系统0的时间提交的过程。 还考虑到该过程可能需要在设备队列中等待可变的时间量。 该流程由3页组成。 从磁盘到内存读取页面所需的时间为2ms。 执行该过程所需的总时间为1

Operating system Gem5缓存转储

如何将不同级别缓存中的所有数据转储到gem5中的一个文件中? 或者我们可以通过它来分析缓存中的数据,就像我们可以借助计算机来分析管道一样 util/O3-pipeview.py m5out/pipeview.txt --color -w150 less -r o3-pipeview.out 可以使用gem5中的调试标志“缓存””来理解icache和dcache输出。 我尝试了以下步骤: 连接到gem5基本目录 在终端上键入以下命令- 输出文件cache_pipe在m5out文件

Operating system BTRFS文件系统

我是btrfs世界的新手。如何找到BTRFS的底层设备?像是磁盘、LVM还是分区?我尝试过类似于btrfs扫描设备的命令。但它只是给出了设备的一般统计数据,而不是实际的设备类型。任何建议都是值得注意的。可能与此相关:btrfs filesystem showcommand是否为您提供了所需的信息?

Operating system 在Autosar Davinci配置程序中添加可运行

达芬奇Configurator Pro的任务映射窗口显示一组已添加的可运行任务。我无法添加新的runnable。我不熟悉AUTOSAR和达芬奇工具我正在使用达芬奇开发者。在包含任务的窗口中,我可以在指定列表(5毫秒、10毫秒、初始化、事件等)中找到我的任务。 右键单击我可以分配给任务,从任务中我可以订购它们。您可能必须使用另一个工具为SWC创建SWCD(SoftwareComponentDescription),因为达芬奇配置器(Pro)只能配置和参数化BSW和RTE,但您不能直接使用它创建SW

Operating system x86_64 nasm跳转到错误的位置

我正在编写枚举PCI总线的代码,但发现每个设备上的循环的jz语句跳到了错误的位置(甚至没有标签)。每次cmp ax,0xffff不相等时都应该调用寄存器函数,这应该不止一次。它只会被呼叫一次 register: ; eax = edi = config offset of the function mov dx, ADDR_PRT add eax, 0x08 in eax, dx shr eax, 16

Operating system 无驱动程序直接寻址外部硬件?

是否可以在不使用驱动程序的情况下访问外部硬件,即在程序和外部设备之间没有驱动程序抽象层 您能否通过在程序代码中直接实现自己的驱动程序(如控制/处理)来使用设备 我试图理解一个实现Modbus协议的程序和一些非常具体的Modbus配置。现在我不知道它是如何与Modbus设备通信的。 在我看来,这与司机的工作非常相似 但是它甚至可以在没有安装驱动程序的情况下直接与设备通信吗?是的,有几个微内核操作系统总是以这种方式配置——驱动程序完全在内核之外实现。 您可能需要的第一件事是访问设备的寄存器;通常使用

Operating system MMU是协调操作系统和物理内存之间的一切,还是只是一个地址转换器?

我试图理解当我们想给一个特定的虚拟内存地址赋值时,操作系统是如何工作的 我的第一个问题是MMU是否处理CPU和RAM之间的所有事情。这是真的吗?从维基百科上可以看出,我可以这么说: 一种内存管理单元(MMU),有时称为分页内存 管理单元(PMMU)是一台计算机 硬件组件负责 处理对请求的内存的访问 由中央处理器控制 如果是这样的话,人们如何告诉MMU我想要得到8个字节,例如64或128个字节?写作怎么样 如果不是这样,我猜MMU只是将虚拟地址转换为物理地址 当MMU检测到我们称之为页面错误时会发

Operating system 哪些o.s.支持文件自定义扩展属性?

我想开发一个跨平台的实用工具,可以使用自定义或扩展文件属性 您知道哪些常用的操作系统支持此功能吗? 需要这些信息: Windows哪些版本? Mac OS,经典Mac还是Mac OS X? Linux发行版? BSD? 其他Solaris、Unix和其他 有链接吗?谢谢。我想这取决于你的文件系统。定制的扩展属性依赖于文件系统,所以我认为您无法获得跨平台的解决方案。Windows上的NTFS和Linux上的Ext完全不同…请阅读本文,

Operating system 在同一个源空闲之前,一个中断处理程序如何运行?

请注意,单个中断源(计时器、键盘等) 将不会向处理器发送新中断信号,直到 处理器已指示对来自该源的上一个中断的处理已“完成”,即使系统范围的中断启用标志已打开 谁告诉PIC当前中断已结束,以及“系统范围中断启用标志”的含义是什么?我在另一个问题的评论中已经介绍了这一点: 好的。。。更多细节 如果我们谈论的是PIC及其通常的操作(如BIOS和DOS),那么有16条IRQ线。它们被映射(在PIC中)到中断向量8到0Fh(IRQ0到IRQ7)和70h到77h(IRQ8到IRQ15) 通过重新编程PIC

Operating system \n\r在不同操作系统上的行为是否不同?

我有一个服务器和一个客户端程序,它们通过套接字连接相互通信。 它通过telnet/(或mac上的终端?)发送我监视的数据字符串 当我用我的MAC作为服务器,用我的PC作为客户端时,它工作得很好。 当我使用MAC作为客户端,PC作为服务器时,它不起作用。。。(!?) 由于有两个不同的操作系统,interperets“\n\r”(EOL?)是否会有所不同 有人知道如何解决这个问题吗?Windows实际上使用\r\n作为下线。不过,它在不同的操作系统上的行为不应该有所不同。Mac使用\r,因此它会忽略

Operating system 如何在erlang中连续显示os命令输出?

我需要在erlang中从os命令连续显示stdout/stderr。 在ruby中,我可以使用以下代码实现它: s1, s2 , s3, t = Open3.popen3('for %a in (1 2 3 4 5 6 7 8 9) do (echo message & sleep 2 ) 2>&1 ') s2.each do |l| puts l end 它将以“实时”显示“消息\n消息\n”-不等待进程结束 我试过os:cmd(..) 及 输出: 10>

Operating system 文件描述符表是否由每个进程自行维护

维基说 在Unix的传统实现中,文件描述符索引到由内核维护的每个进程的文件描述符表中,该表反过来索引到由所有进程打开的系统范围的文件表中,称为文件表 内核是否仅在执行开放系统调用时返回fd,或者更确切地说,在每个进程中返回fd 它还为被调用进程创建类似fd table的东西 fd在系统范围内是唯一的吗?我真的很好奇,当我们打开或写入文件时,下面会发生什么?要理解这一点,你可以这样想,当你打开任何文件、管道或设备文件时,它们都有与之相关的不同驱动程序,所以要知道在使用读、写、,为了将inode链接

Operating system 同一供应商的两个不同产品是否可能显示不同的devicename、vid、pid对?

目前,我正在考虑一种设备功能,它必须依赖于唯一设备的标识。目前,我正在考虑将设备名称也保留在该列表中,作为识别设备唯一性的一种措施 我的问题是:制造商是否有两个产品具有相同的vid、不同的pid但名称相同的情况?如果您试图唯一标识特定设备,请使用vid、pid和序列号(如果可用)。这将允许您有时区分同一设备的两个实例,例如两个闪存驱动器或USB串行适配器 我不会使用设备名称——如果两个设备的VID和PID相同,那么这些设备几乎总是具有相同的名称,因此使用它不太可能有多大区别 制造商是否有两个产品

Operating system 实时内核与实时操作系统

当阅读半导体制造商提供的BLE芯片文档时,发现板上有一个小型实时内核,而不是操作系统。这可能只是一个愚蠢的问题,但在这种情况下,成熟的RTOS与实时内核之间有什么区别。关于这个问题有各种各样的观点。系统程序员等持有的一种观点是,操作系统内核是抽象底层计算机硬件的一组最小服务,使得在机器上编写操作系统甚至应用程序变得更容易。操作系统内核通常在自己的空间中运行,与操作系统的其余部分(甚至应用程序)所在的用户空间分离。还有微内核(和纳米内核)的概念,它专门用于服务更高级别(例如,用户空间)的操作系统服

Operating system 为什么我的安装程序在使用/norestart标志时不运行?

我要为我的一个msi exe进行静默安装。目标是让安装程序以静默方式运行。我理解并知道如何无声地运行它。手头的任务是,当我以静默方式运行它时,操作系统将重新启动。因此,我实现了一个额外的标志来处理重启和静默标志。下面是我为静默和无重启运行的命令 JumpyJackGame.exe /s /v/qn /norestart 我遇到的问题是,当我添加/norestart命令时,.exe甚至没有运行您使用的是什么项目类型?您使用的是套件项目(基本上是作为单个setup.exe交付的多个安装包)还是普通

Operating system 信号量解决方案是否适用于多生产者-消费者?

这就是最大缓冲区大小的问题。如果缓冲区已满,生产者无法生产,如果缓冲区为空,消费者需要等待。显然,这种使用信号量的解决方案只适用于单个生产者和消费者。有人能解释一下为什么它不适用于多个生产者和消费者吗 has_space = Semaphore(max_num) has_elements = Semaphore(0) mutex = lock() def producer(): has_space.acquire() with mutex: # add elements

Operating system 当操作系统第一次读取文件时是否会发生页面错误?

你好,Stackoverflow的操作系统专家 我一直在努力找出操作系统在英特尔x86体系结构中首次读取文件时是否会出现页面错误 我很好奇,在用户空间应用程序在open系统调用之后调用read系统调用之后,操作系统将如何处理 据我所知 在读取系统调用之后,内核访问当前未由内存管理单元映射的页面表的无效页面,并引发页面错误 页面错误将调用请求分页。内核查找所需页面的磁盘地址并计划磁盘操作(I/O计划) 但是,我从我的顾问那里收到一条提示,当第一次打开并读取文件时,不会出现页面错误。 这是真的吗?我

Operating system 计算机上的设备驱动程序管理

任何应用程序都可以使用以下基本组件在操作系统上运行:, 硬件接口-->驱动程序-->应用程序接口 电脑中安装了多个驱动程序,可以用两种简单的方式进行分类 系统驱动程序 第三方驱动程序 我想知道 如何在计算机中管理这些驱动程序 IPC如何处理他们之间的冲突 是否为他们定义了任何标准

Operating system 关于基于ROM的可执行文件的基本问题

我对存储在ROM中的可执行文件有基本的怀疑 据我所知,具有text和RO属性的可执行文件存储在ROM中。问题是,由于ROM是只读内存,如果代码需要写入内存,会发生什么情况 我无法在这里举出任何例子(可能我对这种情况一无所知,或者我遗漏了一些基本的东西;),但对这个话题的任何了解都可以极大地帮助我理解!) 最后一次- 1.有没有这种情况? 2.在这种情况下,将代码从ROM复制到RAM是答案吗 用一些例子来回答会很有帮助 非常感谢 /MS通常只有程序代码、常数和初始化数据存储在ROM中。RAM中的单

Operating system 需要虚拟内存吗?

最近有人问我一个问题,在计算机系统中,如果主存储器(RAM)与辅助存储器(HDD)相当,那么在这样的计算机系统中是否需要实现虚拟存储器? 由于分页和分段需要上下文切换,这纯粹是处理开销,虚拟内存的好处会超过它所需要的处理开销吗? 有人能帮我回答这个问题吗? 谢谢 这可能不是你的全部问题。但在我看来,这似乎是一个答案 这可能不是你的全部问题。但在我看来,ans似乎要放弃我对这件事的理解,完全没有背景证明来支持它。会被否决吗?:) 首先,我假设你说的主内存和次内存是可比的,你的意思是在空间方面。(毕

Operating system 中期调度程序

我在Galvin的《操作系统》一书中读到了关于中期计划程序的内容 上面写着: 有时,在进程不执行[等待I/O或等待CPU]时交换进程是有利的,以降低多道程序设计的程度。 此外,我们还获得了更多的物理内存,通过减少页面错误的数量,使其他进程的执行速度更快[因为我们有更多的内存] 因此,中期调度器的工作是在部分执行的过程中进行调出和调出 但我的问题是:在我们有大量可用物理/主内存的场景中,中期调度器的工作真的很重要吗?中期调度器的使用是通过交换等待的进程(需要I/O),允许多个进程驻留在主内存中,从

Operating system 页面错误数?

问题是: 大小为460字节的程序将访问一系列地址:10,11104170,73309185245246434和364。 页面大小为100字节,程序在主存中仅使用200字节。 如果操作系统使用FIFO算法,将发生多少页错误中断?为什么?我想可能是这样。 地址|当前内存|状态 10 0-100页错误 11 0-100 104 0-100 | 100-200页错误 170 0-100 | 100-200 73 0-100 | 100-200 309 100-200 | 300-400页面错误 185

Operating system 多任务只是微处理器或操作系统的一项功能吗?

我不确定CPU上是否有用于多任务处理的特定硬件要求?可以在8086芯片上进行多任务处理吗?是和否。有几种多任务处理方法,每种方法都需要不同程度的硬件支持 8086芯片能够进行多任务处理,但只有一种称为“协作多任务”的多任务处理(早期版本的windows,即3.0使用了这一功能)。它的工作原理是,系统上的每个程序必须每隔一段时间将控制权交还给操作系统。操作系统依次将控制权传递给下一个程序,该程序必须在一段时间后将控制权交还给操作系统 有一些明显的缺点,如果一个程序永远不会把控制权交还给操作系统怎么

Operating system 计算CPU利用率

我有一个任务来计算CPU利用率,我有4个进程 P1等待I/O的时间占其时间的30% P2有40%的时间等待I/O P3在20%的时间内等待I/0 P4在他50%的时间里等待I/0 我的结果是0.9999993…在我看来,所有进程等待I/O(因此CPU空闲)的概率是不合理的: 因此,CPU忙的概率为:(1-0.012)=0.988,即CPU利用率=98.8%我不需要取幂4的结果?也就是说,进程的数量?是什么让你认为你需要这样做?公式是:1-p^n n=进程的数量,p=-所有进程同时等待I/O的概率

Operating system 一个关于操作系统保护边界的真实示例?

我试图理解用户/内核边界在操作系统中是如何工作的 我一直在读关于它的文章,似乎如果用户级别的某些东西试图执行禁止的操作,硬件会触发陷阱并将控制发送回内核级别的操作系统,内核会处理这种情况 这怎么可能呢?有些东西怎么能直接从用户级转到硬件级,不是所有的交互都是通过系统调用(在内核级)完成的吗?然后内核将预测该操作是否非法 我有点困惑,我想一个关于这个流程如何工作的真实示例(使用用户级应用程序+操作系统,如linux)可能会帮助我理解,如果有人能做到,我会非常感激 有些东西怎么能直接从用户级转到硬件

上一页   1   2    3   4   5   6  ... 下一页 最后一页 共 50 页