Below please find a collection of notes and comments culled from student solutions. The "correct" answer --- by definition -- is something that only can be provided by the court system. Stay tuned...
1. What are the key technical questions regarding incorporation of a WWW browser into windows? Why are these questions interesting or relevant to this anti-trust litigation?
First, here is a list of key technical questions regarding the incorporation of IE into the windows operating system.
1). Exactly what is the definition of an OS? Having such a definition is relevant, since from the definition we could determine if a browser should be considered an integral part of the OS. To examine the definition of an OS, we must answer some questions:
2). How is IE integrated into the OS? We must rule out the possibility that IE still exists as a separate application.
According to Microsoft, IE 4 contains nine components that
interoperate. These components include five DLLs---Wininet.dll,
Urlmon.dll, Mshtml.dll, Shdocvw.dll, and Comctl32.dll---along with two
executable files---Explorer.exe and Iexplore.exe---and a security
and a Java virtual machine component.
3). How does an OS support networking? There is no doubt that managing networking hardware is the job of an OS. But which layer of networking protocol should an OS offer to applications? Usually, an OS will offer primitives of the TCP layer (e.g., winsocket). If an OS can arguably offer services of the network application layer, then a browser arguably can be included in OS; otherwise, the browser should be considered an application.
4). Is the web an extension of file system? File management is a traditional function of an operating system. If the web is considered as being an extension of the file system, an OS should support browsing. Since the web is a collection of html files distributed on the computers connected by Internet, it is sensible to regard the web as being a network file system. But the issue is a bit more complex. One might argue that interpreting the contents of files (e.g., displaying html files, which IE does) is not a function of file system.
2. If you were a technical consultant called to testify on behalf of the U.S. Department of Justice, what definition of "operating system" would you offer. How would you argue that this definition is the correct one?
An operating system is a program that acts as an intermediary between applications and computer hardware. It has three main functions:
This definition of an operating system is based on taking a layered view of a computer system. A computer system can be regarded in terms of 3 layers: hardware, operating system, and applications. Users only see the application layer. Note that:
1. The shell thus would not be considered a part of operating system.
A shell is merely the first application that an OS loads into memory.
Users can change the shell with which they interact, if they want (so the shell is not
an essential part of the OS).
The exection of applications doesn't rely on the shell.
2. The functions of a file system include:
3. An OS should manage the networking hardware and offer communication methods
(protocols), such as TCP, HTTP, or FTP. Applications use these protocols to
send and receive information through networks. The operating system need not know the
contents of the information being transmitted through the networks.
So one can argue that browsing (displaying html
files) is not the job of operating system.
4. Common components of applications are not parts of operating system.
And, even though different applications may implement common functions, this
does not make those functions part of the operating system.
For example, browsing may be a
function implemented by many applications.
An OS should make the use of resources efficiently,
so it may well provide some mechanism to support code sharing.
Windows offers the dynamic-link library (DLL)
for sharing code by different applications.
Some parts of
operating system may even be a DLL.
But this does not imply that a DLL is necessarily part of the operating system.
IE can similarly offer a common function (browsing), but that
doesn't mean that IE is a part of Windows.
3. If you were a technical consultant called to testify on behalf of the Microsoft Corp, what definition of "operating system" would you offer? How would you argue that this definition is the correct one?
An OS is a program that acts as an intermediary between a user of computer and the computer hardware. The OS is responsible for providing an environment in which a user can execute programs. The primary goal of an operating system is thus to make the computer system convenient to use. A second goal of an OS is to facilitate using computer hardware in an efficient manner. Thus, an operating system fulfills four main functions:
1. The shell is a part of operating system.
This point follows from the common feature of all current operating system: they
all provide a default shell. But there are more convincing reasons
for arguing that the shell is part of an operating system.
2. The shell should support browsing.
Why does a shell need to browse www directly instead of merely
supporting the use of a browser for that function? The answer is that
the shell of a modern OS should have a friendly and consistent user interface.
The designers of Windows find that they can offer a more friendly and consistent user
interface by integrating the browser into Windows Explorer (the former shell of Windows).
The Internet then becomes an important resource for applications, so it's
desirable for the browser to have the ability to launch remote application directly, which
is the main function of shell program.
Thus integrating the browser and shell is natural.
3. WWW is a kind of network file system.
WWW is a collection of
html files distributed on the computers connected with Internet. It is
a kind of network file system. The structure information of this file
system lies in the links among html files, so an operating system
should understand the format of html files and implement browsing. In
contrast to the case for a local file system, the operating system
must understand the format of directory files. Moreover, using FTP, a
browser can access remote files (not only html files).
4. An operating system should provide support for a graphical user interface (GUI).
Having a GUI turns out to be important
for many users. But why should an OS offer support for GUI in its API, as
Windows does? There are two reasons: