Thursday, January 10, 2008

Network Operating Systems










NETWORK OPERATING SYSTEMS: A Network Operating System: is a special kind of software that provide services required for network operations, including control of a network and its message , traffic and queues, controls access by multiple users to network resources such as files, and provides certain administrative functions, including security, (and that is why it is called a “Server”)






Resource Sharing: is one of the Network Operating System features that enable users to share resources like devices or any piece of information throughout a network.
Managing Users: is one of the Roles that the Network Operating System plays to control user access to a machine by providing a set of policies for them, NOS uses Active Directory Domain Services to save and create user accounts.






Network Management: is one of the most important functions of a Network Operating System which includes a set of procedures and operations to keep a network operating near maximum efficiency, beside the process and techniques of remotely or locally monitoring and configuring networks.






Hardware Control: to manage and secure the use of hardware devices the NOS has a DEP(Data Execution Prevention) security feature which prevents an application or a service from being executed if it affects a hardware device.






Software Control: to manage and secure the use of software applications the NOS has also a DEP(Data Execution Prevention) security feature which prevents an application or a service from being executed.





Memory Management:I will cover the view Windows NT memory management as it is supposed to be one of the well know NOS.Memory Management Interface—Programmer’s ViewWindows NT offers programmers a 32-bit flat address space. The memory is not segmented; rather, it is 4GB of continuous address space. (Windows NT marked the end of segmented architecture–programmers clearly preferred flat models to segmented ones.) Possibly, with languages such as COBOL where you need to declare data and code separately, programmers view memory as segments. However, with new languages such as C and C++, data variables and code can be freely mixed and the segmented memory model is no longer attractive. Whatever the reason, Microsoft decided to do away with the segmented memory model with Windows NT. The programmer need not worry whether the code/data fits in 64K segments. With the segmented memory model becoming extinct, the programmer can breathe freely. At last, there is a single memory model, the 32-bit flat address space.Windows NT is a protected operating system; that is, the behavior (or misbehavior) of one process should not affect another process. This requires that no two processes are able to see each other’s address space. Thus, Windows NT should provide each process with a separate address space. Out of this 4GB address space available to each process, Windows NT reserves the upper 2GB as kernel address space and the lower 2GB as user address space, which holds the user-mode code and data. The entire address space is not separate for each process. The kernel code and kernel data space (the upper 2GB) is common for all processes; that is, the kernel-mode address space is shared by all processes. The kernel-mode address space is protected from being accessed by user-mode code. The system DLLs (for example, KERNEL32.DLL, USER32.DLL, and so on) and other DLLs are mapped in user-mode space. It is inefficient to have a separate copy of a DLL for each process. Hence, all processes using the DLL or executable module share the DLL code and incidentally the executable module code. Such a shared code region is protected from being modified because a process modifying shared code can adversely affect other processes using the code.Sharing of the kernel address space and the DLL code can be called implicit sharing. Sometimes two processes need to share data explicitly. Windows NT enables explicit sharing of address space through memory-mapped files. A developer can map a named file onto some address space, and further accesses to this memory area are transparently directed to the underlying file. If two or more processes want to share some data, they can map the same file in their respective address spaces. To simply share memory between processes, no file needs to be created on the hard disk.






Data Management: is the power to offer a scalable and integrated data management platform, that reduces the complexity, cost and time to manage and access to those data, a NOS can help securely store and manage data from disparate sources, and automates repetitive administrative tasks to reduce cost it also set custom access levels so that customers, employees, and partners can get the information they need.






Resource Management: is the process of controlling hardware resources by providing some procedures and functions to control data flow to these devices and users access to them. These also include all peripheral devices connected to the system.






Multitasking: is the process of dividing the available processor time among the processes or threads that need it. The system is designed for preemptive multitasking; it allocates a processor time slice to each thread it executes. The currently executing thread is suspended when its time slice elapses, allowing another thread to run. When the system switches from one thread to another, it saves the context of the preempted thread and restores the saved context of the next thread in the queue. Memory Support: refers to the maximum amount of memory that a NOS can support.



Ex: Windows NT 4.0 can support up to 4 GB of memory. Symmetric


Multiprocessing Scalability (SMP): is a computer architecture with multiprocessors where two or more identical processors are connected to a single shared main memory. SMP systems allow any processor to work on any task no matter where the data for that task are located in memory; with Network operating system support, SMP systems can easily move tasks between processors to balance the workload efficiently.


Plug and Play: is a NOS feature that allows the addition of new devices without requiring reconfiguration or manual installation of device drivers.



Clustering: It generally refers to multiple servers that are linked together in order to handle variable workloads or to provide continued operation in the event one fails. Each computer may be a multiprocessor system itself. For example, a cluster of four computers, each with four CPUs, would provide a total of 16 CPUs processing simultaneously. Quality of Service (QoS): is the resource reservation control mechanisms rather than the achieved service quality. Quality of Service is the ability to provide different priority to different applications, users, or data flows, or to guarantee a certain level of performance to a data flow. Terminal Services: one of the NOS components that allows a user to access applications and data on a remote computer over a network. Terminal Services is an implementation of thin-client terminal server computing, where the NOS applications, or even the entire desktop of the computer running terminal services, are made accessible from a remote client machine. Remote Installation Services: is a NOS-supplied server that provides Preboot eXecution Environment (PXE) BIOS-enabled computers to remotely execute boot environment variables. Ex: Microsoft Windows SERVER 2003, Windows NT 4.0, Apple Mac OS X and Novell NetWare.


Software Layers:


A systems software can be partitioned using the concept of software layers. Software layers are where each ‘layer’ of a system deals with a certain function of a system which, usually, gets more and more detailed as we burrow down into the layer stack. The diagram illustrates how an Internet Browser fits into a layer. In the diagram above the system needed to display web pages on your P.C. has been split up into layers. The top most layer, the application, is one layer. From the application to the web page file system (where the web pages are actually stored) the ‘system’ is split into layers of software and hardware that perform similar functions. Each layer has a logical function in the system. Designing software this way allows functions that perform similar functions to be grouped together into a single layer.


User Mode: The user mode is made up of subsystems which can pass I/O requests to the appropriate kernel mode drivers via the I/O manager (which exists in kernel mode). The environment subsystem was designed to run applications written for many different types of operating systems. None of the environment subsystems can directly access hardware, and must request access to memory resources through the Virtual Memory Manager that runs in kernel mode. Also, applications run at a lower priority than kernel mode processes.





Kernel Mode: kernel mode has full access to the hardware and system resources of the computer and runs code in a protected memory area. It controls access to scheduling, thread prioritization, memory management and the interaction with hardware. The kernel mode stops user mode services and applications from accessing critical areas of the operating system that they should not have access to; user mode processes must ask the kernel mode to perform such operations on their behalf. Executive: The Executive interfaces with all the user mode subsystems. It deals with I/O, object management, security and process management. It's informally divided into several subsystems, among which Cache Manager, Configuration Manager, I/O Manager, Local Procedure Call (LPC), Memory Manager, Object Manager, Process Structure and Security Reference Monitor (SRM). Grouped together, the components can be called Executive services (internal name Ex). System Services (internal name Nt), i.e., system calls, are implemented at this level, too, except very few that call directly into the kernel layer for better performance.





Client/Server Model:





is a computing architecture which separates a client from a server, and is almost always implemented over a computer network. Each client or server connected to a network can also be referred to as a node. The most basic type of client-server architecture employs only two types of nodes: clients and servers. This type of architecture is sometimes referred to as two-tier. It allows devices to share files and resources. Each instance of the client software can send data requests to one or more connected servers. In turn, the servers can accept these requests, process them, and return the requested information to the client. Although this concept can be applied for a variety of reasons to many different kinds of applications, the architecture remains fundamentally the same.

Peer-to-Peer




Active networking is a communication pattern that allows packets flowing through a telecommunications network to dynamically modify the operation of the network. A peer-to-peer (or "P2P", or, rarely, "PtP") computer network uses diverse connectivity between participants in a network and the cumulative bandwidth of network participants rather than conventional centralized resources where a relatively low number of servers provide the core value to a service or application. Peer-to-peer networks are typically used for connecting nodes via largely ad hoc connections. Such networks are useful for many purposes. Sharing content files (see file sharing) containing audio, video, data or anything in digital format is very common, and realtime data, such as telephony traffic, is also passed using P2P technology. Some of the features of Network Operating System are: · Provide basic operating system features such as support for processors, protocols, automatic hardware detection and support multi-processing of applications · Security features such as authentication, authorization, logon restrictions and access control · Provide name and directory services · Provide file, print, web services, back-up and replication services · Support Internetworking such as routing and WAN ports · User management and support for logon and logoff, remote access; system management, administration and auditing tools with graphic interfaces · Clustering capabilities; fault tolerant and high availability systems. PC with 300 megahertz or higher processor clock speed recommended; 233 MHz minimum required (single or dual processor system);* Intel Pentium/Celeron family, or AMD K6/Athlon/Duron family, or compatible processor recommended 128 megabytes (MB) of RAM or higher recommended (64 MB minimum supported; may limit performance and some features) 1.5 gigabytes (GB) of available hard disk space* Super VGA (800 x 600) or higher-resolution video adapter and monitor CD-ROM or DVD drive Keyboard and Microsoft Mouse or compatible pointing device Linux Hardware Requirements Typical minimum requirements for a Linux distribution: · Processor: Intel: Pentium 1-4 or Xeon; AMD: Duron, Athlon, Athlon XP, Athlon MP, Athlon 64, Sempron or Opteron · 256 MB of RAM (512 MB recommended) · 500 MB of disk space (800 MB to 2 GB often required when including a basic set of applications)


MAC OS X: The biggest reason to buy OS X is for the performance boost. Theis OS comes with a good deal of usability improvements, and many deliver the flexibility Mac users have come to expect. The customizable Dock bar, which gives users access to their favorite or most-used applications and folders, can now be positioned on the left, right, or bottom of the screen. You can easily resize Finder windows, which carry scroll arrows, in the Column view. The System Preferences panel is organized into the Personal, Hardware, Internet & Network, and System categories. In addition, the Mail application is beefed up. Now you can flag messages for later action, and a log shows the status of messages--whether you've forwarded or deleted them, for example. Even with these improvements. Long file names now wrap to another line, if necessary, so the entire name of a file is always visible. You can show or hide file extensions (such as .jpg or .doc) for all files by going to the Finder preferences and checking the Always show file extensions box. And crisp icons representing the volume, modem status, monitor resolution, and AirPort connection status reside on the right end of the menu bar, providing one-click access.




WINDOWS XP PROFESSIONAL:




By most accounts, it's won the desktop operating system war, the office productivity suites war, and the browser war. The simple, speedy tools included in Windows XP Professional—Remote Assistance and Remote Desktop—have the competition looking over its collective shoulder. Remote Desktop is used for standard remote access, such as working with files and applications, and Remote Access is used for support. The Remote Desktop tool brings the host screen and resources to your local PC rather than generating an additional user session, as the original MSTSC does on Windows 2000 Server machines. Setting up a host takes less than 60 seconds. By right-clicking on My Computer, clicking Properties, then selecting the Remote tab, you can administer your incoming connections. You also have the ability to grant access to additional local and domain-level users and groups. With Remote Desktop enabled on PC, we can access the system's desktop from any PC running Windows 95 or later, using a Terminal Server Client that can be installed from the Windows XP CD or downloaded free from Microsoft's Web site (www.microsoft.com/windowsxp/pro/downloads/rdclientdl.asp). In full-screen view, the host desktop automatically resizes to your local resolution; it looks like the host PC is directly attached. All the host's keyboard commands are accessible, along with devices such as printers, drives, and serial ports. Over a high-speed connection, Remote Desktop's performance is unbeatable. Opened and closed application windows with no lag. Over a 56K dial-up, Remote Desktop performed better than any other product in 8-bit or true color modes. (Remote Desktop defaults to 24-bit color.) Remote Assistance, which complements Remote Desktop, lets you invite techie friends and corporate help desk employees to access your desktop and troubleshoot issues from their Windows XP Professional PCs. Once accepted, the invitation automatically links the guest to your Internet-connected PC. Your authorization grants control of your keyboard, mouse, and applications, obviating the lengthy phone conversations in which you try to explain what your PC is doing. In addition, help desk techs do not have to be at your PC to log on as Administrator. For added security in Remote Assistance, you can set a duration after which the remote-control invitations will terminate.




REDHAT LINUX:




The latest release of Red Hat's popular Linux distribution, Red Hat Linux 8.0 Professional, presents a stepping stone for mainstream technology enthusiasts, including popular productivity applications, Linux is now more approachable. Red Hat has also made application selection easier for the end user. Instead of a confusing selection of text editors, e-mail clients, and Web browsers, Bluecurve displays the "best of breed" applications and makes those the default. Other choices are available in an Extras folder. Red Hat Linux 8.0 integrates many popular applications, including Ximian Evolution 1.0.8 (a PIM and e-mail client), OpenOffice.org 1.0.1 (a productivity suite), and Mozilla 1.0.1 (a Web browser). End users can get started quickly with Linux without the need to download and install applications for everyday tasks. Other applications install easily via the new Package Management tool, which groups applications together by genre and handles installation dependencies.