Tag Info

New answers tagged

0

The notion of whether or not software can do something without an OS is not really meaningful. An OS is software, and really the only thing that distinguishes an OS from other software running on a computer is that (at least in most modern multitasking systems) the OS reserves certain kinds of operation to itself and prevents other software from performing ...


2

On a computer with a single cpu core, must a multithreading program be implemented based on an OS? No. A program can implement its own threading and scheduler. At this point, however, the program is taking on the role of an operating system, in that in the absence of a proper operating system kernel, the program must implement all of the hardware ...


10

Http.sys is low risk, as it can’t run any cope provided by a 3rd party. Http.sys does a few tasks. It acts as a proxy-forwarder, so allowing multiple processes to respond to request to different parts of the HTTP name space. gbjbaanb answer covers this well. It serves static files, directly from the windows files cache. This provides a great ...


13

Http.sys is not the only kernel-mode web server available: under Linux there is also tux. As you have correctly identified, security is a concern with these kinds of servers, which has lead to tux not being included in the mainline linux kernel (and I believe not updated for more recent kernel versions). A better solution would be the use of an operating ...


22

Http.sys is not so much a web server as a proxy-forwarder. Its designed to allow many web servers co-exist on a Windows box, so you can have IIS running a web site, but also several WCF services running with http/REST or SOAP interfaces, all on standard port 80. (this is why you can't run Apache on Windows without a bit of jiggling, Apache hasn't been ...


1

Operating Systems Are Languages. And Operating Systems Are Machines. So, yes, it does in fact make sense to talk about all the same things that we talk about for Languages and Machines: Computational Power, Expressivity, Orthogonality, Compositionality, Modularity, etc. The fact that Operating Systems Are Languages seems to be so obvious that there isn't ...


1

This depends on how the operating system is implemented, and on how you answer the question of what is part of the operating system and what isn't. As other answers have already commented, an operating system may provide a scripting language as part of its shell. Whether this can be said to make the system itself turing complete is a question of semantics: ...


3

I would generally say "no" with a caveat. The main difficulty is that the phrase "operating system" is very broad -- an "OS" could be a standalone microkernel without any attached services, or an OS could be a multi-user graphical environment with a hundred subsystems, or anywhere in between. When you decompose a modern operating system, you may find that ...


8

Probably not. Operating systems expose an API that provides services. Despite the apparent complexity, the vast majority of service calls in a OS API are just that: service calls, and nothing more. Operating systems do not typically provide looping services, or any of the other mechanics of a Turing-Complete machine; programming languages provide such ...


6

It's a sports analogy. Play-by-play is what you learn from a commentator while watching a game. A "design" approach would be more akin to reading that game's rule book. For a kernel book, a play-by-play example might start with an open call on a file, and trace that through the filesystem code, through the block device code, through the usb subsystem, ...


2

There are filesystems that do this, btrfs or ZFS for example. Not (just) for files, also for individual extents. Dropbox also does this (or at least used to). Uploading a large file that another user already uploaded takes only a small amount of time, because it isn't actually uploaded. The client sends a hash of the file to the server, and when the server ...


1

The problem is, by doing this in the background you are changing the mutability semantics of the system in a way that people just wouldn't expect. Consider the following workflow: I create a wonderful piece of art in myasciidrawing.txt. I decide that I want to create a similar piece of art, so I copy myasciidrawing.txt to awesomeasciidrawing.txt and ...


11

It's called deduplication. Some filesystems do it (like ZFS), some block-level storage systems do it (like NetApp), some backup systems do it (rsnapshot), source code managment systems do it (Git, bzr, fossil) It's not so rare, just that until recently it was an expensive option for generic filesystems. Note that it's not a good idea to do it as you ...


0

I'm going to assume you mean resource type files here e.g. images, songs, sounds etc. If you're on about sharing executable code, this path has already been well trodden: windows has had its DLL Hell whilst Unix gets round this by compiling an all singing, all dancing executable. The main problem with resource type files to my mind comes with editing. Say ...



Top 50 recent answers are included