- Web templates
- E-commerce Templates
- CMS & Blog Templates
- Facebook Templates
- Website Builders
Linux
March 14, 2016
The Linux open source operating system, or Linux OS, is a freely distributable, cross-platform operating system based on Unix that can be installed on PCs, laptops, netbooks, mobile and tablet devices, video game consoles, servers, supercomputers and more.
Linux is distinguished from many popular operating systems in three important ways.
Linux is a cross-platform operating system that runs on many computer models. Only Unix, an ancestor of Linux, rivals Linux in this respect. In comparison, Windows 95 and Windows 98 run only on CPUs having the Intel architecture. Windows NT runs only on CPUs having the Intel architecture or the DEC Alpha.
Linux is free, in two senses. First, you may pay nothing to obtain and use Linux. On the other hand, you may choose to purchase Linux from a vendor who bundles Linux with special documentation or applications, or who provides technical support. However, even in this case, the cost of Linux is likely to be a fraction of what you’d pay for another operating system. So, Linux is free or nearly free in an economic sense.
Second, and more important, Linux and many Linux applications are distributed in source form. This makes it possible for you and others to modify or improve them. You’re not free to do this with most operating systems, which are distributed in binary form. For example, you can’t make changes to Microsoft Windows or Microsoft Word – only Microsoft can do that.
Linux Features
- multitasking: several programs running at the same time.
- multiuser: several users on the same machine at the same time (and no two-user licenses!).
- multiplatform: runs on many different CPUs, not just Intel.
- multiprocessor: SMP support is available on the Intel and SPARC platforms (with work currently in progress on other platforms), and Linux is used in several loosely-coupled MP applications.
- multithreading: has native kernel support for multiple independent threads of control within a single process memory space.
- runs in protected mode on the 386.
- has memory protection between processes, so that one program can’t bring the whole system down.
- demand loads executables: Linux only reads from disk those parts of a program that are actually used.
- shared copy-on-write pages among executables. This means that multiple process can use the same memory to run in. When one tries to write to that memory, that page (4KB piece of memory) is copied somewhere else. Copy-on-write has two benefits: increasing speed and decreasing memory use.
- virtual memory using paging (not swapping whole processes) to disk: to a separate partition or a file in the filesystem, or both, with the possibility of adding more swapping areas during runtime (yes, they’re still called swapping areas). A total of 16 of these 128 MB (2GB in recent kernels) swapping areas can be used at the same time, for a theoretical total of 2 GB of useable swap space. It is simple to increase this if necessary, by changing a few lines of source code.
- a unified memory pool for user programs and disk cache, so that all free memory can be used for caching, and the cache can be reduced when running large programs.
- dynamically linked shared libraries (DLL’s), and static libraries too, of course.
- does core dumps for post-mortem analysis, allowing the use of a debugger on a program not only while it is running but also after it has crashed.
- mostly compatible with POSIX, System V, and BSD at the source level.
- through an iBCS2-compliant emulation module, mostly compatible with SCO, SVR3, and SVR4 at the binary level.
- all source code is available, including the whole kernel and all drivers, the development tools and all user programs; also, all of it is freely distributable. Plenty of commercial programs are being provided for Linux without source, but everything that has been free, including the entire base operating system, is still free.
- POSIX job control.
- pseudoterminals (pty’s).
- 387-emulation in the kernel so that programs don’t need to do their own math emulation. Every computer running Linux appears to have a math coprocessor. Of course, if your computer already contains an FPU, it will be used instead of the emulation, and you can even compile your own kernel with math emulation removed, for a small memory gain.
- support for many national or customized keyboards, and it is fairly easy to add new ones dynamically.
- multiple virtual consoles: several independent login sessions through the console, you switch by pressing a hot-key combination (not dependent on video hardware). These are dynamically allocated; you can use up to 64.
- Supports several common filesystems, including minix, Xenix, and all the common system V filesystems, and has an advanced filesystem of its own, which offers filesystems of up to 4 TB, and names up to 255 characters long.
- transparent access to MS-DOS partitions (or OS/2 FAT partitions) via a special filesystem: you don’t need any special commands to use the MS-DOS partition, it looks just like a normal Unix filesystem (except for funny restrictions on filenames, permissions, and so on). MS-DOS 6 compressed partitions do not work at this time without a patch (dmsdosfs). VFAT (WNT, Windows 95) support and FAT-32 is available in Linux 2.0
- special filesystem called UMSDOS which allows Linux to be installed on a DOS filesystem.
- read-only HPFS-2 support for OS/2 2.1
- HFS (Macintosh) file system support is available separately as a module.
- CD-ROM filesystem which reads all standard formats of CD-ROMs.
- TCP/IP networking, including ftp, telnet, NFS, etc.
- Appletalk server
- Netware client and server
- Lan Manager/Windows Native (SMB) client and server
- Many networking protocols: the base protocols available in the latest development kernels include TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP (Appletalk), Netrom, and others. Stable network protocols included in the stable kernels currently include TCP, IPv4, IPX, DDP, and AX.25.
Pros
- Runs on just about any hardware. It is a misnomer that Linux lacks the driver support of Windows and OSX. Linux actually has the broadest driver support of any system. I don’t see Windows running on your TomTom. What is true, is that the latest and greatest hardware doesn’t come to Linux first if the manufacture choose not write Linux drivers. For most things this isn’t a problem for the same reason it isn’t a problem for OSX. Just be aware of the issue before running out to buy the latest add on.
- More options than any other system. This is a pro and a con. If you want to change anything in Linux you can. The only limiting factor is your desire to figure out how.
- Way more secure than Windows XP and even OSX.
- Everything is free. Although please donate a little something to your favorite projects.
- If you choose to, you can always be on the cutting edge of computer science. All the new ideas in development on college campuses across the world are tried on Linux first and then the best of those filter down to Apple and Windows but, what’s best is subjective so Linux leaves you with a choice, while Apple and Windows limit you.
- Full access to the free open source library of software. Great full featured, compatible, and free replacements for your proprietary software.
- Linux management, for example patch management, is much easier. Typical one command or wizard has to be invoked in order to update everything vs. Windows where you have to get OS patches from Microsoft and third party patches from each individual vendor.
Cons
- The latest and greatest hardware is typically slower to reach Linux.
- The sheer number of options can be daunting to a non-technical user. Although, like OSX, the distribution you select will determine the level of complexity presented or hidden from the end user. For instance, my mom would have no problem using Ubuntu but, only the uber techies among us would opt for the Gentoo Linux distribution.
- Limited support for proprietary applications. Although you can use Microsoft Office for Windows on Linux by using an open source version of the Windows application programing interface called WINE, I wouldn’t recommend it for the non-technical user. Instead use Open Office, which comes with the Ubuntu distribution, for creating documents compatible with Microsoft Office.
- Limited vendor support. This is getting better. Dell now offers systems with Ubuntu pre-installed and those sub $300 Walmart PC’s that they couldn’t keep in the stores were from Everex. As for software support, even though this is under cons, I can’t really say this is a bad thing. In 20 years Microsoft has never answered a question when I have bothered to call them. I may spend hours searching their knowledge base to find an answer to my question. On the other hand, Linux has a massive community of people willing to help. A quick search of the Ubuntu forums will generally reveal an answer, and if not, then a quick post to the forum normally gets a response.
Linux has attractive features and performance. Free access to Linux source code lets programmers around the world implement new features, and tweak Linux to improve its performance and reliability. The best of these features and tweaks are incorporated in the standard Linux kernel or made available as kernel patches or applications. Not even Microsoft can mobilize and support a software development team as large and dedicated as the volunteer Linux software development team, which numbers in the hundreds of thousands, including programmers, code reviewers, and testers.