ebusiness Use Case  «Prev 

Linux in business

A threat to Windows?

Businesses have begun to evaluate Linux alongside Microsoft's Windows software. As time goes on, the free operating system based on UNIX standards, could begin to infiltrate corporate America. According to a Securing Protocol Layers article by DispersedNet, the Linux operating system has the largest market share for hosting environments, including college libraries and banks.
"It's free that's one of the bigger selling points," explains a technical support employee who installed Linux to manage parts of a school library network. This fact has made Linux the operating system of choice for 8-10 million worldwide users. However, due to its unproven track record and lack of advertising, Linux is not likely to overthrow Windows NT any time soon.

What Is Linux and What Is It Doing

The term Linux is often used to refer to the entire operating system, but in reality, Linux is the operating system kernel, which is started by the boot loader, which is itself started by the BIOS/UEFI. The kernel ensures coordination between hardware and software. This role includes managing hardware, processes, users, permissions, and the file system. The kernel provides a common base to all other programs on the system and typically runs in ring zero, also known as kernel space.

The User Space

We use the term user space[1] to lump together everything that happens outside of the kernel. Among the programs running in user space are many core utilities from the GNU project1, most of which are meant to be run from the command line. You can use them in scripts to automate many tasks. Refer to the following page to learn more about command.

Linux Administration

Driving Hardware

The kernel is tasked, first and foremost, with controlling the computer's hardware components. It detects and configures them when the computer powers on, or when a device is inserted or removed (for example, a USB device). It also makes them available to higher-level software, through a simplified programming interface, so applications can take advantage of devices without having to address details such as which extension slot an option board is plugged into. The programming interface also provides an abstraction layer; this allows video-conferencing software, for example, to use a webcam regardless of its maker and model. The software can use the Video for Linux (V4L) interface and the kernel will translate function calls of the interface into actual hardware commands needed by the specific webcam in use.
The kernel exports data about detected hardware through the
/proc/ and /sys/ 
virtual file systems. Applications often access devices by way of files created within /dev/. Specific files represent disk drives (for instance, /dev/sda), partitions (/dev/sda1), mice (/dev/input/mouse0), keyboards (/dev/input/event0), sound cards (/dev/snd/*), serial ports (/dev/ttyS*), and other components.

There are two types of device files: block and character. The former has characteristics of a block of data: It has a finite size, and you can access bytes at any position in the block. The latter behaves like a flow of characters. You can read and write characters, but you cannot seek to a given position and change arbitrary bytes. To find out the type of a given device file, inspect the first letter in the output of ls -l. It is either b, for block devices, or c, for character devices:
$ ls -l /dev/sda /dev/ttyS0
brw-rw---- 1 root disk 8, 0 Mar 21 08:44 /dev/sda
crw-rw---- 1 root dialout 4, 64 Mar 30 08:59 /dev/ttyS0

As you might expect, disk drives and partitions use block devices, whereas mouse, keyboard, and serial ports use character devices. In both cases, the programming interface includes devicespecific commands that can be invoked through the ioctl system call.
[1] The term userland (or user space) refers to all code that runs outside the operating system's kernel.