We use an operating system for its features. Other computer programs are more easy to make if a computer has an operating system. If the computer is bare-metal it is much more difficult for a software developer to create other programs.
|File system||A database used to organize data storage|
|Graphic system||Used to display information on screen|
|Network||Used for communication between computers|
|Device drivers||Used for managing internal and external devices|
|Tools||Utility programs for managing files, folder and configuration|
|Applications||User-created programs or scripts|
|Package managers||Used to install/uninstall programs|
A graphic system consist of video card, display and software that can display pictures, graphics and text fonts. This can make a computer screen look great and easy to use. We interact with graphic system using keyboard and mouse.
Most operating systems have a graphic system. This is what user can see after the operating system is fully loaded. Android, Chrome, Windows, MacOS by default load a graphic system. Linux server usually start in command prompt or console. However a Linux desktop edition usually have Gnome or KDE graphic system installed.
Ubuntu Gnome System
In the Windows the file system can be observed and organize using Windows Explorer. In Windows you can have several disks, each disk has associated a letter: (C: D: E: F: G: H:). Each disk is organized in folders similar organized with file cabinet used into an older office.
Windows Explorer: Quick Access Menu
A new computer has a special program that is called BIOS. This program is stored in electronic components installed on motherboard. You know probably that BIOS = Basic Input Output System.
Once the BIOS is started computer can do basic input and output operations. So the computer can search the storage devices: CD-ROM, DVD, PEN-DRIVE, HARD-DRIVE.
Operating system is stored on one of this devices. The computer can look for the operating system on any of this devices and if it found one it is loading the operating system in memory and execute the operating system. Then the computer become really smart.
One of the most important job of the operating system is to organize information on storage. This can be internal storage or external storage. The storage is permanent and do not lose information when the computer is off power.
On a computer you can have multiple storage devices and each device can have a different file system. For example CD-ROM or DVD- have a special file system and is different from HARD-DISK or Flopy-DISK.
File system are databases:
Operating systems organize files using an internal embedded database. Files are organized into a tree that has a root and folders. Folders can have other folders and files. File names are registered as records in this tree.
The most common file systems are known as:
- Windows: FAT16, FAT32, NTFS
- Linux: EXT2, EXT3, EXT4
- Unix/Linux: XFS, ZFS, BTRFS
ZFS and BTRFS are the most new and have high performance. These file system need more memory and can use multiple hard-drive to create a single file system with redundancy.
My favorite FS is XFS and most popular is EXT4. This is for stability and good performance with reduced resources.
If you have many hard drives you can get benefits of so-called drive array. A drive array can increase file system capacity or performance or both. RAIS is available on most popular operating systems.
A drive array is also known as RAID = redundant array of independent disks.
There are several RAID configurations you can create and each will give you more or less redundancy and performance:
- RAID 0 – performance
- RAID 1 – redundancy and read performance
- RAID 5 – redundancy and read/write performance
- RAID 6 – double redundancy and read/write performance
- RAID 10- redundancy and read/write performance
Note: Most used is RAID – 6 that is enterprise class RAID.
My 2 small Linux servers have only 7 HDD and 8Gb RAM. I have used XFS with 2 disk in RAID1 and 4 disks in RAID10. Each server has also one system disk of 250Gb that is using EXT4 for boot and system files. I have installed /var folder on RAID10 and /srv folder on RAID1. This is becouse /var will store database files and /srv will store internet files.
File system is secured against unauthorized access. An administrator can create roles and users. Then can grant or deny access to folders and files. The security system is depending on the operating systems.
Linux has better security than Windows. Operating systems have predefined folders with different security properties. For example every user can write only in its own home folder but can read all other folders.
Users must use a password to access a computer. When computer start or exit from sleep mode user may be asked to Log In using his password. Unauthorized users can’t have access if they do not know this password.
One user is the administrator. On Linux there is a super administrator with name: root If someone know root password can have access to all files in the computer. Therefore the administrator must keep the root password always safe.
- Mac OS
- Chrome OS
- Free BSD
- Haiku OS
- Linux Mint
On one computer you can have one single operating system running at one time. This is the host operating system and is the first program that start when you start the computer.
However you can have installed on a computer one or more operating systems. If you have multiple hard drive available you can install one operating system on each hard drive.
If you have a single hard drive you can partition the hard drive into multiple logical segments named “disk partitions”. Then on each partition you can have a different operating system and different file systems.
You can download and create a Live CD or DVD from internet and use this special CD or DVD to start and try an operating system. This require a bit of extra work to download a file from internet named .iso image. Then you must know how to burn a DVD.
You can download from internet a special program that is a virtual machine. Then you can use this program to make a simulation of a new computer.
This simulator is also called virtual machine. Once you create a virtual machine you can install an operating system from a DVD or you can download an image from internet.
System programming is usually referring to script files. A classic operating system like Windows, Linux, UNIX have a console. This is a black window that is sometimes called command window. In this window can run special programs called scripts. A script is a text file that operating system can execute. On Windows this file has extension .bat and is called batch file. On Linux this file has extension .sh and is call shell script.
On the command window the operating system display a prompt or cursor. At this prompt you can type a command and the operating system can execute this command. If you type the name of a script file this file is parsed and executed.
On the Cloud you can “rent” a virtual machine and you can start and stop this virtual machine. This is like a server computer and it can be pre-loaded with a specific operating system that you order.
This kind of machines are based on specific template images that are special design for the cloud and can be pre-configured with important software to create a “platform“.