What is GNU and what are the benefits of using it?

April 3rd, 2014 by Rossy Guide

Basic introduction

GNU is a Unix-like computer operating system developed by the GNU Project. It is composed wholly of free software. It is based on the GNU Hurd kernel and is intended to be a “complete Unix-compatible software system”. GNU is a recursive acronym for “GNU’s Not Unix!” chosen because GNU’s design is Unix-like, but differs from UNIX by being free software and containing no UNIX code.

Basic architecture of GNU OS

Advantages and disadvantages

Advantages of GNU:

o Low Cost
o Open Source software packages
o Stable
o Performance
o Network friendliness
o Compatibility
o Configurability
o Multitasking
o Security
o Ever improving without adding cost to the end user

Disadvantages of GNU:

o Learning curve is higher for people exposed only to MS Windows
o It was initially designed by programmers for programmers, so for normal users it’s difficult to grasp at the beginning
o Not all MS Windows application equivalents present in Linux
o Administration of Linux systems is tough for beginners
o Not all hardware are compatible, especially peripherals, whose drivers may not exist Comparison with Windows

Comparison with Windows

This section compares the Windows and GNU architectures.

Kernels and APIs

o In GNU, the API functions are called system calls. And Windows has an API for programming calls to the executive.
o Windows has an API for programming calls to the executive. In addition to this, each subsystem provides a higher-level API.

Kernel Objects and Handles

o In UNIX, the kernel object can be created using the system calls and it returns an unsigned integer. There is no exact equivalent of handles in UNIX.
o In Windows, Windows APIs are used to create the kernel object and it returns a Windows-specific data type called HANDLE.

Hardware Drivers

o In GNU, there are several different ways to manage drivers.
o In Windows, the Windows driver model provides a platform for developing drivers for industry-standard hardware devices attached to a Windows-based system.

Process Management

o Both Windows and GNU operating systems support processes and threads.
o The sections provide more details on process management in both GNU and Windows are Multitasking, Multiple users, Multithreading & Process hierarchy’.

Daemons and Services

o In GNU, a daemon is a process that the system starts to provide a service to other applications.
o A Windows service is the equivalent of a GNU daemon. It is a process that provides one or more facilities to client processes.

Virtual Memory Management

o Both GNU and Windows use virtual memory to extend the memory available to an application beyond the actual physical memory installed on the computer.

Security

o GNU uses a simple security model.
o Windows uses a unified security model that protects all objects from unauthorized access.

Networking

o The primary networking protocol for GNU and Windows is TCP/IP.

User Interfaces

o GNU supports the graphical user interface using the X Windows system.
o The Windows user interface was designed to take advantage of advancements in the graphics capabilities of computers.

System Configuration

o GNU users generally configure a system by editing the configuration files with any of the available text editors.
o Windows has GUI tools for configuring the system.

DLLs and Shared Libraries

o Windows and UNIX both have a facility that allows the application developer to put common functionality in a separate code module.

Leave a Reply