Topics
Introduction to Linux/Unix
History
Characteristics of Unix
Main components of Linux
What is Linux / Unix?
Linux / Unix is an operating system
A computer can be divided into 3 main functional layers:
Applications: the highest functional layer. This layer includes software
programs that run for a specific purpose. Example: this power point presentation, an email tool, a web browser
Operating System: the middle functional layer. The OS controls the hardware and supports the applications running above it.
Example of popular OS: Linux, Unix, Windows, Mac OS
Hardware: physical devices that make up the computer
Example hardware include: keyboard, monitor, hard disk
The main tasks of an operating system:
Interacts with the user
Manages how applications run
Handles data storage
Controls hardware peripherals
Linux are used for many different purposes in a wide range of applications:
The internet runs on Linux servers
Movie special effects are created on Linux machines
Banking and financial transactions are done on Linux computers
Video games are developed on Linux platforms
Military computing are done on Linux machines
Government records, such as taxes, are kept on Linux computers
University engineering and computer departments run classes on Linux computers
History of Linux / Unix
Unix was officially announced to the world in 1969
Before Unix, computers had operating systems that are:
hardware specific: Changing computers meant changing all the software so they could work with the new hardware
single tasking: Only one job could be done at a time on the computer, everyone had to sign up for a timeslot on the computer
single user: Sharing data meant making a tape of your data and giving it to another user
Multics: In the 1960s, scientists at AT&T Bell Labs, MIT, and GE worked together to create a new time-sharing operating system. Time-sharing is the new concept that will eventually lead to a multitasking, multi-user OS later. However the Multics project became too large. It was difficult to manage and the project ended in 1969
Unix: Some of the developers from Bell Labs used their knowledge gained from Multics to create an even more progressive operating system, which they originally named Unics, a play on the word Multics. Eventually the spelling of Unics changed to Unix
Characteristics of Unix
Multi-tasking: the OS appears to do multiple tasks at the same time by switching between all the tasks and giving its time to each task one at a time (also known as time-sharing)
Multi-user: the OS can support many users logging in at the same time, as well as one user logging in multiple times at once
Portable: the OS is written in a high-level language (C) and therefore can be run on different hardware platform
University involvement: In 1969 Bell Labs released Unix, for free, to the Engineering and Computer Science departments at different universities. The universities embraced Unix and their graduate students began work developing add-ons to the source code. One such university was the University of California, Berkeley. Eventually there were 2 major versions of Unix: (1) Unix System V (developed by AT&T) (2) Unix BSD (developed by UC Berkeley)
Industry involvement: The graduate students eventually went on to found successful start up companies such as Sun Microsystem, SGI, etc. and brought Unix to the high tech industry in the late 1970s and early 1980s. The success of the start up companies caused many established companies such as IBM, Microsoft, HP, etc. to also adopt Unix. Unix became the OS platform for many companies in the high tech industry. One serious side effect of corporate involvement was that Unix became copyrighted and had a high price attached to it. It was partly because of this high price that Microsoft, with its less expensive DOS operating system, became the operating system of choice when desktop computers became widely available to the general public
Linux: Fed up with the copyrighted source code trend, the Free Software Foundation was formed to establish the open source movement. This movement believes that software should be open for anyone to work on and be free of charge. Supported by the open source movement, in 1991 Linus Torvalds created a Unix operating system that is meant to run on a desktop computer. He named it Linux.
Linux today:
Used in many applications, from embedded systems to servers to supercomputers
Many people around the world maintain and enhance Linux, since it is an open source product
Different packages of Linux are called distributions, and can be downloaded and installed for free
Linux vs. Unix
Unix is proprietary to each company that uses the Unix platform. Some examples are IBM AIX, HP UX, SGI IRIX, Sun Solaris, DEC Ultrix. These OS are all Unix based and follow the same, uniform Unix standard called POSIX.
Linux is the same way, it follows the same POSIX standard. But Linux is open source and is free.
All utilities covered in this class follow this POSIX standard and will work with both the proprietary Unix and with Linux. Therefore for the rest of this class, “Linux” will be used to shorten the full name “Linux / Unix”
Accessing Linux
To access a Linux system you need to have an account, with a user ID and a password
A user ID is also called a log in ID or user name
It is assigned to each user by the system administrator
There is a unique user ID for each user in the system
A user may have more than one user ID
Depending on your organization, you may be allowed to make up your own user ID or you may be assigned a specific user ID
You cannot change the user ID yourself, it must be changed by a system administrator
A password is also required to log in to the system
Depending on how the system is set up, you may be able to create your own password or you may be given a password.
You can change your password any time by using a utility. Depending on how it is set up, some systems require you to change your password on a regular basis for security reasons
Typically there are rules for the password that you choose. At school, your password must be a combination of letters and numbers or punctuation marks.
Main components of Linux
The kernel, the file system and utilities, and the shell are the main components of the Linux OS
Kernel: the core of the OS
only one kernel can run per system
gets loaded into in the main memory during power up
manages resources so that multitasking can take place
File system: for data storage
data are organized into files
files are organized into directory structures
Shell: how the user interfaces with the OS
the shell interprets what the user types on the keyboard so it can be run by the system
there can be more than one shell running at a time
the shell also coordinates multiple commands in a file and acts as a programming language
Utilities: tools to help a user do work on the system
also called commands
there are many utilities, each utility is supposed to do one task and do it well
they are programs that are run by the user to do specific tasks, such as copy a file, send email, communicate with another user, check system resources
Types of Linux Users
A user is a person who has a Linux account and can log in to the Linux system
When a user creates a file, the user is the owner of the file and the term ‘user’ also means owner (of the file)
There are 3 main types of users:
Regular users use the Linux system as a platform to do their work. For example, on a Linux server there can be a game developer writing code for games, a QA person testing software, a student writing a term paper. They are all regular users who use Linux utilities to do their work.
System programmers write code that makes up the kernel, core system libraries, core utilities, and system daemons
System administrators set up, maintain, and update Linux systems. It is the sys admin’s job to keep the system running so that regular users can do their jobs.