Questions tagged «linux»

Linux是流行的开源操作系统内核。Linus Torvalds于1991年开始开发内核。

7
您是否有技术原因无法在Linux计算机上开发iOS应用程序?
我知道为什么您不能在Linux计算机上开发OS X应用程序,但是有充分的技术原因为什么您不能在Linux上开发iPhone和iPad应用程序吗?为什么无法将iOS源代码编译成iOS可执行文件并在Linux上的iOS模拟器中运行它,或将其安装在开发iOS设备上? 仅仅是因为XCode IDE是可可应用程序吗? 看来,您可以在任何类型的平台上开发Android应用。我不明白为什么iOS无法如此。
23 ios  linux  xcode 

1
在生产服务器上使用Mono有任何经验吗?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 6年前关闭。 我想将.NET用于某些Web应用程序(例如ASP.NET MVC 2)。但是我的预算有限,所以我想在Linux上使用Mono。我以前从未使用过Mono,也没有阅读过任何在生产服务器上使用Mono + Linux的大型站点。 您在Linux上的生产环境中使用Mono的经验如何?与Windows Server上的.NET相比,性能和稳定性如何? 在生产中是否有任何流行的网站在使用它?他们在网上分享了他们的经历吗?

2
操作系统如何限制堆栈和堆的大小?
注意:如果您需要考虑特定的操作系统才能回答问题,请考虑使用Linux。 每当我运行一个程序时,都将为其分配一个虚拟内存空间,其中有一个用于堆栈的区域,一个用于堆栈的区域。 问题1:堆栈和堆是否有静态大小限制(例如,每个大小为2 GB),还是该限制是动态的,根据程序执行期间的内存分配而变化(即,总共4 GB供用户使用)两者兼而有之,因此,如果程序仅使用堆栈,那么它将能够具有4 GB的堆栈)? 问题2:如何定义限制?它是总可用RAM内存吗? 问题3:文本(代码)和数据部分如何处理,如何限制它们?
21 linux  memory  stack  heap 

3
为什么Java / Linux堆栈无法“实时”运行的原因是什么?
我经常听到开发人员提的是Java的不能“ 做实时 ”,这意味着在Linux上运行的Java应用程序不能满足一个确定性的实时系统的要求,如对RIOT-OS等运行的东西 我试图理解为什么。我的SWAG告诉我,这可能主要是由于Java的Garbage Collector可以在任何时间运行并完全暂停系统。而且,尽管那里有所谓的“无暂停GC”,但我不一定相信他们的广告,也没有每个JVM实例$ 80K的兴趣来支持这个业余项目! 我还阅读了有关在Linux上运行无人机软件的文章。在那篇文章中,作者描述了Linux几乎导致无人机撞车的情况: 在选择在Pi上执行低级控制循环(PID)之后,我学到了很难的一课-为了变得聪明,我决定在循环的中间放置一个日志记录以进行调试-Quad最初运行良好,但随后Linux决定花2秒写一个日志条目,然后四边形几乎撞到了我的车上! 现在,尽管那个作者用C ++编写了无人机软件,但我可以想象,在Linux上运行的Java应用程序可能遭受同样的命运。 根据维基百科: 如果一个操作的总正确性不仅取决于它的逻辑正确性,还取决于它执行的时间,那么该系统就是实时的。 所以对我来说,这意味着“ 如果完全正确需要逻辑上的正确性和及时性,那么您就不会实时。 ” 假设我已经编写了一个Java应用程序以使其具有超强的性能,可以这么说,我已经“挤满了柠檬”,并且不能合理地用Java编写该程序以使其更快。 总而言之,我的问题是:我正在寻找可以向我解释所有/大多数运行Linux的Java应用程序无法成为“实时应用程序”的原因。意思是,什么使Java / Linux堆栈上的所有事物类别阻止了它“及时”,从而使其“ 完全正确 ”?如前所述,GC和Linux日志刷新似乎可以暂停执行,但是我敢肯定Java应用程序本身之外还有更多事情会导致计时/性能下降,并使其难以满足最终期限的要求。这些是什么?
20 java  linux  real-time 

12
面试某人的一般Unix技能[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 您将如何测试声称拥有* nix shell经验的开发人员(为清楚起见,我们不想测试某人是否可以在* nix上进行开发,仅测试他们是否了解命令行方式)。 我当时正在考虑让它们解决从日志文件中获取信息的问题,这将涉及cat,grep,cut,...等一些基础知识,再加上管道。 您还要求什么其他基础知识?再一次,这不是采访将要针对* nix系统开发的人,也不是针对* nix系统管理员的面试,而是针对经常需要在* nix系统上做一些工作的普通开发人员。
20 interview  linux  unix  shell 


4
OpenGL,GLX,DRI和Mesa3D之间是什么关系?
我开始在Linux中进行一些底层3D编程。我在使用高级图形API OpenInventor方面有很多经验。 我知道并不一定要知道所有这些东西如何组合在一起,但是我很好奇。我知道OpenGL只是图形应用程序的标准。Mesa3D似乎是此标准的开源实现。 那么GLX和DRI适合哪里呢?在Wikipedia和所有这些网站上进行挖掘时,我还没有找到关于这一切如何结合的确切解释。硬件加速在哪里发生?专有驱动程序与此有什么关系?

9
如何有效处理大型Linux / makefile项目?
我从事C ++ Windows应用程序开发已有10年了。最近,我开始研究一些Linux项目,我无法忍受如此无用的工作... 我学习速度很快,并且一段时间以来我一直在使用Linux作为主要平台。而且我对shell,OS原理和GUI感到非常满意。但是当涉及到开发时,感觉就像我回到了学校。 一旦我打开一个更大的项目,我就被卡住了。它们中的大多数都是基于makefile的,因此基本上,当我尝试使用QT或CodeBlocks导航它们时,充其量,我可以基于每个文件使用intellisense。而且大多数时间变量都从作用域泄漏。 然后是一个似乎没有定义的东西,尝试从sourceforge加入一些更大的项目,并且您被困了好几天,因为导航到定义是如此困难…… grep -r "this_def" . --include "*.cpp" --include "*.h"似乎太慢而且笨拙。 然后,调试gdb确实可以工作,但是无论我做什么,似乎WinDbg或VisualStudio调试器都落后了光年。 这些事情使我感到绝望,我想编写代码,但是过程太慢了……我开始认为Linux开发人员会心地学习函数定义并通过眼睛来分析代码,但是我不敢相信所以。 有人经历过这个吗?有什么我想念的东西可以使我更有生产力吗?
16 c++  linux 

7
Emacs和“自我增强性能”
简而言之,对于您的Emacs核心用户,我的问题是:您实现了Steve Yegge所说的 “自我增强性能” 吗? Emacs具有自我托管功能:在其中编写东西可以使环境本身更强大。这是一个反馈循环:递归的,自我增强的,可乘的效应之所以发生,是因为您正在增强用于创建增强功能的环境。 您是否真的觉得增强Emacs最终使您的生产率提高了10倍,并且您的生产率继续呈指数级增长,依此类推? 你有一些例子/经验可以分享吗? 对于我来说,我同时使用Emacs和Vim进行开发(目前坚持使用Vim),.emacs并且我和Im .vimrc都进行了适当配置以满足我的需求,并且我欣赏这两个编辑器的强大功能。但是我没有经历过Emacs的“自我强化循环”,也没有遇到过这样做的人(当然,这可能是因为我不是真正的Emacser顽固派,并且还没有遇到那么多Emacsers)。 例如,在Facebook上,我旁边的那个家伙正在使用Vim,而他旁边的那个家伙正在使用Emacs。他们两个都像地狱般迅速而富有成果,我不认为这是因为他们使用的编辑器,而是他们自己的才智和态度。 但是无论如何,我很高兴看到埃马克斯支持者的惊人例子使我回到埃马克斯教堂。

3
对于初学者内核黑客来说,有什么有趣但又不太困难的项目?
在学习了操作系统课程之后,我对扩展我对Linux内核的了解以及练习使用大型系统感兴趣。我可以尝试哪些有趣但又不太困难的项目? 编辑:我对内核做了些什么背景。 实施了新的计划政策 已实现的用户线程和相应的互斥体库(不是真正的内核黑客,而是包含了内核相关的理论)
13 linux  kernel 

5
如何为初学者理解Linux内核源代码?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 6年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我是一名对内存管理感兴趣的学生,尤其是linux内核的页面替换组件。 有什么不同的指南可以帮助我开始理解内核源代码? 我曾尝试阅读Mel Gorman 的《了解Linux虚拟内存管理器》和Cesati和Bovet的《了解Linux内核》这本书,但是他们没有解释代码中的控制流程。他们仅最终解释了所使用的各种数据结构以及各种功能执行的工作。这使代码更加混乱。 我的项目涉及在主流内核中调整页面替换算法,并针对一组工作负载分析其性能。有没有一种易于理解的Linux内核(如果不是linux-2.6.xx内核)?

3
Linux文件名中的小写字母
当我发现UpperCase对于复杂的长名称中的首字母单词分隔确实可读时,我倾向于使用一些UpperCase来提供一些Linux文件名。通常是可执行文件,也有一些目录。 但是已经有几个星期我说过,Linux distrib中所有文件名的绝大多数都是小写的... 因此,我刚才进行了一次谷歌搜索,然后发现了这篇文章:Linux File Names,指出在Unix世界中应该始终使用小写字母, ...最好在Linux中始终使用小写字母,除非您有充分的理由使用大写字母或混合大小写。大多数Unix用户几乎都使用小写字母,但是除了这种“文化”观点之外,还有另一个充分理由使用小写字母。如果要与Linux共享或访问DOS文件系统,则DOS将无法查看具有大写或大小写混合的文件名的文件... 真的是这样吗?

3
低延迟Unix / Linux
大多数低延迟/高频编程作业(基于作业规范)似乎是在unix平台上实现的。在许多规范中,他们特别要求具有“低延迟linux”类型经验的人员。 假设这并不意味着可以使用实时linux操作系统,人们是否可以在这方面提供帮助?我知道您可以设置线程的CPU亲和力,但我假设他们对此的要求远远超过此。 内核调优?(尽管我听说像solarflare这样的制造商还是会生产内核旁路网卡)? DMA或进程之间可能共享的内存呢?如果人们可以给我简短的想法,我可以去Google上进行研究。 (此问题可能需要熟悉高频交易的人员)
11 c++  c  performance  linux  latency 

5
使用Web的PHP开发时,Linux给我带来什么好处?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我将与一个朋友开始一个大型的PHP项目。这是我第一次使用PHP,我一直想知道是否应该尝试在Linux上进行开发,因为它是如此流行。 我曾经在Linux上有过一些经验,自从我知道vim以来,选择编辑器就很容易了(尽管我看过VS.PHP并让我从更改中退缩了)。 在开发PHP(或任何网络语言)时使用Linux是否有优势?

3
低级Linux图形
出于教育目的,我想在Linux环境下编写一个应用程序,该应用程序可以处理键盘事件并绘制图形而没有诸如X或SDL之类的巨大依赖。我认为这是必须可行的,因为X和SDL本身就是程序,因此它们必须依赖于环境固有的其他方法。这种理解正确吗? 如果是这样,我在哪里可以学习编写这样的程序?我有限的经验告诉我,这将涉及到调用内核和/或写入特殊文件。但是,我还没有找到有关此问题的任何教程(我什至不知道Google应该怎么做)。 另外,如果相关,我将在Virtualbox上运行Debian Squeeze。我使用的netinst cd没有联网功能,因此当前没有太多安装。我将安装gcc,但我希望仅此而已。
11 linux  graphics 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.