问题标签 [operating-system]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
17 回答
2202 浏览

operating-system - 适用于开发机器的 Vista 或 XP

我即将从工作中获得一台新 PC,它将包括将 Vista Business 作为操作系统或降级到 XP Pro 的选项。除了一点点测试之外,我从未使用过 Vista,但总的来说,我听到的关于 Vista 的坏报告多于好报告。我认为硬件在性能方面不会成为问题(Intel Core Duo T9300、4GB RAM、256MB NVIDIA)。考虑到它的历史,当我有机会继续使用 XP 时,我对在我的主要开发系统中使用 Vista 感到不安。

那么这里有没有人在你的开发机器上使用过 Vista 和 XP 作为操作系统?如果你可以选择一个而不是另一个,你会选择哪一个?我需要使用 Visual Studio 2003/2005/2008、SQL Server 2005、虚拟机、Office,以及大量的多任务和多标签网页浏览。

(注意:我对抨击微软不感兴趣。如果您没有使用过 Vista,但只是听说过有关它的坏消息,那么您的经验水平与我相同,您可能不应该回答这个问题)。

编辑:当我从工作中得到这台计算机时,我更喜欢使用提供的操作系统之一:32 位 XP PRO 或 32 位 Vista。

0 投票
13 回答
925 浏览

windows-vista - 哪个 Vista 版本最适合开发人员机器?

微软表示 Visual Studio 2008 可以安装在任何版本的 Vista 上(不包括初始版本)。

但我不确定家庭版是否不会导致调试、虚拟机、IIS、MS SQL 2008 和开发人员使用的所有其他工具或一些旧工具(如 Visual Basic 6.0)出现问题。

似乎 Vista Business 会是最好的,但家庭版更受欢迎。

或者,将继续使用 Windows XP Pro?

0 投票
12 回答
1561 浏览

windows-vista - 为什么选择 64 位操作系统?

关于这些问题:

人们推荐64位,你能解释一下为什么吗?是否只是为了让您拥有 32 位提供的 3GB 以上的可寻址 RAM?

Visual Studio 如何从所有这些额外的 RAM 中受益?

我从 64 位 XP 回到 32 位,因为无论如何我使用的 90% 的软件都是 32 位的,而且我在驱动程序和一些 64 位软件方面遇到了问题。

0 投票
4 回答
3292 浏览

operating-system - 使用 nasm 混合 32 位和 16 位代码

这是一个低级系统问题。

我需要混合 32 位和 16 位代码,因为我试图从保护模式返回到实模式。作为一些背景信息,我的代码在 GRUB 启动之后执行此操作,因此我没有任何讨厌的操作系统来告诉我我能做什么和不能做什么。

无论如何,我在我的程序集中使用 [BITS 32] 和 [BITS 16] 来告诉 nasm 它应该使用哪些类型的操作,但是当我测试我的代码使用 bochs 时,看起来对于某些操作 bochs 没有执行的代码我写。看起来汇编程序正在添加额外内容0x660x67's,这让 bochs 感到困惑。

那么,在同一文件中混合 32 位和 16 位代码的情况下,如何让 nasm 成功组装代码?有什么技巧吗?

0 投票
12 回答
5527 浏览

linux - 了解 linux 或 BSD 内核内部的最佳方式是什么?

我想更好地了解操作系统内部。进程管理、内存管理和类似的东西。
我正在考虑通过了解 linux 或 BSD 内核来学习。
哪一个内核更适合学习目的?
最好的起点是什么?
能推荐一些好书吗?

0 投票
5 回答
27466 浏览

windows - Windows 任务管理器中的“VM 大小”是什么意思?

从计算机大小的角度来看,虚拟内存是

【让程序的一种方式】认为它有大范围的连续地址;但实际上它当前使用的部分分散在 RAM 周围,不活动的部分保存在磁盘文件中。(维基百科

我会将 Windows 任务管理器中的 VM 大小解释为总可寻址虚拟内存空间或进程当前在虚拟内存空间中使用的内存量。

但在任务管理器中,WM 大小在许多情况下小于内存使用量,这应该是进程正在使用的 RAM 量。因此,我猜 WM Size 意味着别的什么?

0 投票
2 回答
665 浏览

windows - 适用于 Windows 和 Mac 的窗口管理器

X Windows 具有称为窗口管理器的特殊进程,用于管理窗口的布局和标题栏、控制按钮等装饰。此类进程使用 X Windows API 来检测与窗口大小和位置相关的事件。

是否有任何一致的方法可以为 Microsoft Windows 或 Mac OS/X 编写此类进程?

我知道总的来说这些系统不太灵活,但我正在寻找可以使用公共 API 而不是无证黑客的东西。

0 投票
28 回答
122873 浏览

operating-system - 操作系统开发入门有哪些资源?

我一直想做的一件事是开发自己的操作系统(不一定像 Linux 或 Windows 那样花哨,但比我已经做过的简单引导加载程序更好)。

我很难找到资源/指南来帮助您完成编写简单的“Hello World”操作系统。

我知道很多人可能会建议我看一下 Linux 或 BSD;但是像这样的系统的代码库(大概)太大了,我不知道从哪里开始。

有什么建议么?

更新:为了让通过谷歌登陆这篇文章的人更容易,这里有一些操作系统开发资源:

其他资源:

我找到了一个名为MikeOS的好资源,“MikeOS 是一个学习工具,用于演示简单操作系统的工作原理。它使用 16 位实模式进行 BIOS 访问,因此不需要复杂的驱动程序”

2008 年 11 月 14 日更新

我在Freebyte's Guide to...Free and non-free Operating Systems中找到了一些资源,这些资源链接到诸如 OSKit 和 ExOS 库之类的工具包。这些似乎对开始操作系统开发非常有用。

2009 年 2 月 23 日更新

Ric Tokyo在这个问题中推荐了 nanoos。Nanoos 是一个用 C++ 编写的操作系统。

2009 年 3 月 9 日更新

Dinah 为有抱负的 OS 开发人员提供了一些有用的 Stack Overflow 讨论:创建自定义操作系统的路障讨论了您在开发 OS 时可能遇到的陷阱,而OS 开发是一个更普遍的讨论。

2009 年 7 月 9 日更新

LB 提供了Pintos Project的链接,这是一个为学生学习操作系统开发而设计的教育操作系统。

2009 年 7 月 27 日更新(依然强劲!)

我偶然发现了来自伯克利的一门在线操作系统课程,其中有 23 节课。

TomOSMikeOS的一个分支,其中包括一个小内存管理器和鼠标支持。作为 MikeOS,它被设计成一个教育项目。它是用 NASM 汇编程序编写的。

2009 年 8 月 4 日更新

我发现幻灯片和其他材料与上面列出的在线伯克利讲座一起使用。

2009 年 8 月 23 日更新

stackoverflow 上所有标记为 osdev 的问题

OS/161是一个用 c 语言编写的、在模拟硬件上运行的学术操作系统。这个操作系统在 Nachos 中是类似的。谢谢小说家!

tangurena 推荐http://en.wikipedia.org/wiki/MicroC/OS-II,一个为嵌入式系统设计的操作系统。还有一本配套书

Anders 建议 Robert Love 的Linux Kernel Development 。这是“广受好评的内部人士对 Linux 内核的看法”。

2009 年 9 月 18 日更新

感谢 Tim S. Van Haren 向我们介绍了Cosmos,这是一个完全用 c# 编写的操作系统。

tgiphil 向我们介绍了托管操作系统联盟 (MOSA) 框架,“一套工具、规范和源代码,用于促进基于通用中间语言的托管操作系统的开发。”

2009 年 9 月 24 日更新

Steve 找到了一些使用 Visual Studio 在 Windows 上进行开发的资源,请查看BrokenThorn 的 VS 2005 指南设置OSDev 的 VS 部分

2012 年 9 月 5 日更新

kerneltrap.org 不再可用。linux 内核 v0.01 可从kernel.org获得

更新于 2012年 12 月 21 日 一个基本的操作系统开发教程,设计为一个学期的项目。它指导您构建具有基本组件的操作系统。对初学者来说非常好的开始。相关论文。谢谢斯鲁扬!

2013 年 11 月 15 日更新

从零开始编写一个简单的操作系统。谢谢詹姆斯摩尔!

2013 年 12 月 8 日更新

如何制作电脑操作系统 谢谢ddtoni!

2014 年 3 月 18 日更新

ToAruOS 一个主要从头开始构建的操作系统,包括 GUI

2016 年 9 月 12 日更新

编写自己的玩具操作系统

2016 年 12 月 10 日更新

编写一个简单的操作系统——从零开始(谢谢@Tyler C)

0 投票
5 回答
5327 浏览

c - linux中的“获取”路径

我正在linux中编写ac程序。像 execv() 这样的命令需要 ac 字符串形式的路径。是否有命令以 ac 样式字符串的形式返回当前路径?

0 投票
2 回答
808 浏览

operating-system - 任务计划程序

与一些同事就实时任务的最佳调度策略进行了有趣的讨论,但并不是每个人都对常见或有用的调度策略有很好的理解。

对于您的答案,请选择一种策略并详细介绍它,而不是提供有关几种策略的一些信息。如果您有一些内容要添加到别人的描述中并且很短,请添加评论而不是新答案(如果它很长或有用,或者只是一个更好的描述,那么请使用答案)

  • 策略是什么 - 描述一般情况(假设人们知道任务队列是什么、信号量、锁和调度程序本身之外的其他操作系统基础)
  • 该策略针对什么进行了优化(任务延迟、效率、实时、抖动、资源共享等)
  • 是实时的,还是可以实时的

当前策略:

-亚当