I recently posted a question about Azure... is it really an OS? I understand the technical details, and I got a lot of fuzzy answers... I really want to know... what do you think is the difference between an OS and a Framework?
Just for reference, Azure will be built on top of Hyper-V servers and the virtual machines will be running vanilla Windows Server 2008. It will run services that creates a cloud on top of the many virtual machines which is called Azure. Windows is calling Azure an OS.
僅供參考,Azure將構建在Hyper-V服務器之上,虛擬機將運行vanilla Windows Server 2008.它將運行在眾多虛擬機(稱為Azure)之上創建雲的服務。 Windows將Azure稱為操作系統。
I am trying to understand how to define the difference between an OS and a framework.
Operating System: The infrastructure software component of a computer system
Framework: A re-usable design for a software system (or subsystem).
By these definitions it seems to me, that an operating system can be built using a framework, and a framework can be built to interact with an operating system.
Singularity is an example of an experimental OS that is built using managed code.
Framework is a very broad term, it can be used to describe many types of subsystems. It could even describe an operating system.
Operating System is more specific, it implies facilitation of interaction with a computers or group of computers hardware layer, through the use of human user interfaces. I think Azure fits this description.
An OS is the thing that directly interfaces with the machine, be it virtual or real. It has to expose syscalls that handle input devices, output devices, sound, networking, and all the other things that we take for granted these days. It also often provides some kind of UI which uses these services to make it easy to use/useful for an end-user. It needs to have device drivers to work with video cards, sound cards, etc. (Once again, these can be virtualized).
A framework is... something built on top of the OS. It, too, exposes an API, but they are often not so low-level as the one the OS exposes.
It's up to marketing - I don't think the terms have a definite meaning any more.
Is a JVM a framework? What if it's running on a raw uC or even an FPGA - is it an OS?
這取決於營銷 - 我認為這些術語不再具有明確的含義。 JVM是一個框架嗎?如果它在原始uC甚至FPGA上運行怎么辦?它是一個操作系統嗎?
frameworks provide api contracts that oses usually don't - meaning they sit atop the os, hide and manage the differences, and consequently give you that platform independence goodness that can broaden our target audience
框架提供通常沒有的api合同 - 意味着它們位於操作系統之上,隱藏和管理差異,從而為您提供平台獨立性優勢,可以擴大我們的目標受眾
A framework thought to be as a development environment,a helping platform for further developments and you can work additively to create some other application using components of framework, while OS is system software is an environment to operate a system.