Well after my first compilation which got a very good response and my second article which got a luke warm response and the on going OS war on this forum i was compelled to research again so here i am again compiling another article from the internet tryin to understand a very complicated topic in simple terms....
like always in this article also attempts to make it as laymen possible have been made ....
also i may be not absolutely accurate at some places which can be corrected
Whats the difference between unix and windows
The difference is at the core and the way the core functions thereby everything that follows also behaves differently
The core of an OS is known as Kernel:
*The Computer system consists of 5 abstraction levels which are:Originally Posted by wikipedia
the kernel does this:
The UNIX system kernel
1. The kernel allocates memory, keeps track of the physical location of files on the computer's hard disks, loads and executes binary programs such as shells, and schedules the task swapping without which UNIX systems would be incapable of doing more than one thing at a time.
2. The kernel accomplishes all these tasks by providing an interface between the other programs running under its control and the physical hardware of the computer; this interface, effectively insulates the other programs on the UNIX system from the complexities of the computer.
When a running program needs access to a file, it cannot simply open the file; instead it issues a system call which asks the kernel to open the file. The kernel takes over and handles the request, then notifies the program whether the request succeeded or failed. To read data in from the file takes another system call; the kernel determines whether or not the request is valid, and if it is, the kernel reads the required block of data and passes it back to the program.
The kernel has subsystems like process management, memory management, file management, device management and network management. Each of the subsystem has some features:
* Concurrency: As UNIX is a multiprocessing OS, many processes run concurrently to improve the performance of the system.
* Virtual Memory (VM): Memory management subsystem implements the virtual memory concept and a user need not worry about the executable program size and the RAM size.
* Paging: It is a technique to minimize the internal as well as the external fragmentation in the physical memory.
* Virtual File System (VFS): A VFS is a file system used to help the user to hide the different file systems complexities. A user can use the same standard file system related calls to access different file systems.
The kernel provides these and other basic services: interrupt and trap handling, separation between user and system space, system calls, scheduling, timer and clock handling, file descriptor management.
Now something about the Windows Kernel:
Windows Kernel Organization
Kernel-mode organized into:
NTOS (kernel-mode services)
– Run-time Library, Scheduling, Executive services, object
manager, services for I/O, memory, processes, …
Hal (hardware-adaptation layer)
– Insulates NTOS & drivers from hardware dependencies
– Providers facilities, such as device access, timers, interrupt
servicing, clocks, spinlocks
– kernel extensions (primarily for device access)
The Windows NT operating system family's architecture
Major Kernel Services:
*Security reference monitor:
Access checks, token management
Pagefaults, virtual address, physical frame, and pagefile management;
Services for sharing, copy-on-write, mapped files, GC support, large apps
*Lightweight Procedure Call (LPC):
Native transport for RPC and user-mode system services.
*I/O manager (& plug-and-play & power)
Maps user requests into IRP requests, configures/manages I/O devices;
implements services for drivers
Provides file-based caching for buffer file system I/O
Built over the memory manager
Schedules thread execution on each processor
Now thats a little too much of geeky stuff and its got me scratching my head too .... dont worry now we cut directly to the chase ...
Another difference between UNIX and Windows:
1. Everything in UNIX is treated as file (even the h/w devices like printers, scanners etc!) but it is not the case in Windows, also:
2.i could partly understand the aboveOriginally Posted by internet
3. Unix posseses the process hierarchy. When a new process is created by a UNIX application, it becomes a child of the process that created it. This hierarchy is very important, so there are system calls for influencing child processes. Windows processes on the other hand do not share a hierarchical relationship. Receiving the process handle and ID of the process it created, the creating process of a Windows system can maintain or simulate a hierarchical relationship if it is needed. The Windows operating system ordinarily treats all processes as belonging to the same generation.
4. UNIX uses daemons, Windows has service processes. Daemons are processes that are started when UNIX boots up that provide services to other applications. Daemons typically do not interact with users. A Windows service is the equivalent to a UNIX daemon. When a Windows system is booted, a service may be started. This is a long running application that does not interact with users, so they do not have a user interface. Services continue running during a logon session and they are controlled by the Windows Service Control Manager.
I have some things that i want to cover but that require a little more research and time 8)
Source: The Internet
PS: just a little something i found: http://en.wikipedia.org/wiki/List_of...mputer_viruses