系统软件与应用软件定义 [英] Systems software versus applications software definitions

查看:75
本文介绍了系统软件与应用软件定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们如何定义系统程序?当我们说系统编程时,

是否必要意味着我们编写的程序需要与硬件直接交互?b $ b?例如,OS,编译器,内核,驱动程序,
网络协议等......?几年前,是的,我明白这是

绝对是真的。然而,随着软件应用程序变得越来越复杂,有些人试图争辩。有些人认为系统程序的定义取决于抽象层次。我听说有人说网络服务器是一个系统软件,我觉得很困惑。我认为Web服务器是一个应用软件。是的,

其他应用程序在Web服务器上运行。


请提供建议和讨论。谢谢!!

How do we define systems programs? when we say systems programming,
does it necessary mean that the programs we write need to interact
with hardware directly? For example, OS, compiler, kernel, drivers,
network protocols, etc...? Couple years ago, yes, I understand this is
definitely true. However, as the software applications become more and
more complicated, some people try to argue that. Some people argue the
definition of systems programs depend on the level of abstractions. I
heard people saying that web server is a systems software, which I
feel confused. I think web server is an application software. Yes,
other applications run on top of web server.

Please advise and discuss. thanks!!

推荐答案

>我们如何定义系统程序?


comp.lang.c没有。
>How do we define systems programs?

comp.lang.c does not.
当我们说系统编程时,
是否有必要意味着我们编写的程序需要直接与硬件进行交互?


该术语没有精确的定义,系统和应用程序编程之间没有明确的界限。

该行当你谈到嵌入其他设备的电脑时会变得特别模糊。


不,我会考虑很多低等级网络的东西,比如

TCP堆栈是系统编程,即使它不具体到特定类型的网络硬件
(并且可能没有BE

串口以外的任何特定网络硬件。

也有隧道驱动程序,它们有一个网络堆栈,但不是
实际上使用任何硬件。

例如,操作系统,编译器,内核,驱动程序,网络协议等......?几年前,是的,我明白这是绝对正确的。然而,随着软件应用程序变得越来越复杂,有些人试图争论。
有些人认为系统程序的定义取决于抽象层次。我听说人们说网络服务器是一个系统软件,我感到很困惑。


Microsoft Windows中的视频驱动程序可能会调用Internet

资源管理器来实际访问硬件:-(无论如何,Microsoft

声称IE是如此紧密地绑定到操作系统中,你不能删除它。

我认为他们也在法庭上宣誓。

我认为是web服务器是的,是的,
其他应用程序在Web服务器上运行。
when we say systems programming,
does it necessary mean that the programs we write need to interact
with hardware directly?
That term does not have a precise definition and there is not
a sharp line between systems and applications programming.
The line gets particularly fuzzy when you are talking about
computers embedded into other devices, like cell phones.

No, I''d consider a lot of the low-level network stuff like the
TCP stack to be systems programming, even if it''s not specific
to a particular type of network hardware (and there may not BE
any specific network hardware beyond a serial port. There are
also "tunnel drivers" which have a network stack but don''t
actually use any hardware at all).
For example, OS, compiler, kernel, drivers,
network protocols, etc...? Couple years ago, yes, I understand this is
definitely true. However, as the software applications become more and
more complicated, some people try to argue that.
Some people argue the
definition of systems programs depend on the level of abstractions. I
heard people saying that web server is a systems software, which I
feel confused.
The video driver in Microsoft Windows probably calls Internet
Explorer to actually access the hardware :-( In any case, Microsoft
claims IE is so tightly bound into the OS you can''t remove it.
I think they said that under oath in court, too.
I think web server is an application software. Yes,
other applications run on top of web server.




我认为我的VOIP终端适配器中的Web服务器是系统

编程,很大程度上是因为它被刻录到闪存中并且是用于配置适配器的
。同样适用于Web

管理插入我的APC UPS的卡(运行Web服务器,SNMP服务器和一些其他东西),出于同样的原因。

另一方面,在我的PC上运行的Apache我认为是一个

的应用程序(正如你所说的那样,有其他应用程序在它下面运行

,就像PHP以及各种各样的网页,它们可以做各种各样的事情,比如我的CD收藏索引。)


Gordon L. Burditt



I consider the web server in my VOIP terminal adapter to be systems
programming, in large part because it is burned into flash and is
used to configure the adapter. The same thing applies to the Web
Management Card (which runs a web server, SNMP server, and a few
other things) that plugs into my APC UPS, for much the same reason.

On the other hand, Apache running on my PC I consider to be an
application (which, as you said, has other applications running
under it, like PHP and under that various web pages which do various
things, like present an index of my CD collection.)

Gordon L. Burditt


2004年11月24日16:00:55 -0800,Matt写道:
On 24 Nov 2004 16:00:55 -0800, Matt wrote:
我们如何定义系统程序?当我们说系统编程时,
是否有必要意味着我们编写的程序需要直接与硬件进行交互?例如,OS,编译器,内核,驱动程序,网络协议等......?几年前,是的,我明白这是绝对正确的。然而,随着软件应用程序变得越来越复杂,有些人试图争辩。有些人认为系统程序的定义取决于抽象的程度。我听说人们说网络服务器是一个系统软件,我感到很困惑。我认为Web服务器是一个应用软件。是的,
其他应用程序在Web服务器上运行。

请提供建议和讨论。谢谢!
How do we define systems programs? when we say systems programming,
does it necessary mean that the programs we write need to interact
with hardware directly? For example, OS, compiler, kernel, drivers,
network protocols, etc...? Couple years ago, yes, I understand this is
definitely true. However, as the software applications become more and
more complicated, some people try to argue that. Some people argue the
definition of systems programs depend on the level of abstractions. I
heard people saying that web server is a systems software, which I
feel confused. I think web server is an application software. Yes,
other applications run on top of web server.

Please advise and discuss. thanks!!




我个人会说使​​用

时间编程应用程序变得更容易(C#,Java,VB,...) 。几乎没有人对大会感到困扰...


关于这个话题,对我而言,系统程序是a)与硬件直接交互

(并且写得非常低)或b)

与低级别的操作系统交互(例如PartitonMagic)。



I personally would say programming an application is getting easier with
time (C#, Java, VB,...). Hardly anyone still bothers with Assembly...

On the topic, for me a system program is the one that either a) interact
with the hardware directly (and are written on a very low level) or b)
interacts with the OS on a low level (PartitonMagic for example).


2004年11月25日00:26:42 GMT,Gordon Burditt写道:
On 25 Nov 2004 00:26:42 GMT, Gordon Burditt wrote:
Microsoft Windows中的视频驱动程序可能会调用Internet
Explorer来实际访问硬件:-(在无论如何,微软声称IE是如此紧密地绑定到操作系统中,你无法将其删除。
我认为他们也在法庭上宣誓。
The video driver in Microsoft Windows probably calls Internet
Explorer to actually access the hardware :-( In any case, Microsoft
claims IE is so tightly bound into the OS you can''t remove it.
I think they said that under oath in court, too.




有点偏离主题,但是... IE可以从操作系统中安全地删除。



Kind of off topic, but... IE can be "safely" removed from the OS.


这篇关于系统软件与应用软件定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆