Chapter 1- Part 1Introduction.pdf
Document Details
Uploaded by DaringHarmonica
Tags
Full Transcript
Chapter one Introduction to Unix Topics covered What is Operating system? History of Unix Features of Unix Unix Architecture Why we need Unix Advantage and disadvantage of Unix. Operating Systems An operating system (OS) is the program which starts up when you turn on...
Chapter one Introduction to Unix Topics covered What is Operating system? History of Unix Features of Unix Unix Architecture Why we need Unix Advantage and disadvantage of Unix. Operating Systems An operating system (OS) is the program which starts up when you turn on your computer and runs underneath all other programs without it nothing would happen at all. An operating system is software that runs on the hardware of a computer system to manage its hardware and software resources. It also gives the user of the computer system a simple a virtual machine that is easy to use. Provides efficient and secured program execution, I/O operations, communication between processes, error detection and reporting , and file manipulation. Operating system can be categorized as single-user single-process, single user multi-process and multiuser multi-process operating systems. Tasks the of operating system: Control Hardware - The operating system controls all parts of the computer and attempts to get everything working together. Run Applications - Another job of an OS is running application softwares. This would include word processors, web browsers, games, etc... Manage Data and Files securely - The OS makes it easy for you to organize your computer. Through the OS you are able to do a number of things to data, including copy, move, delete, and rename it. This makes it much easier to find and organize what you have. Operating Systems Operating systems allow the separation of hardware management from applications/programs. This allows the applications to work across different hardware platforms, although the applications are still specific to the OS. The Kernel is the core function of the OS and handles basic-level communication between the various processes and the hardware. Libraries provide applications with standardized access to kernel functions. Examples of Operating system DOS Windows Ubuntu Linux Mac Android History of Unix First developed in 1970s. Started as a research project begun by a handful of people. Developed at Bell laboratory. It has become an important product used extensively in business, academia, and government. It is a multitasking OS that supports simultaneous use by multiple users. Today, people use operating systems with many different names that are variants of UNIX. Bell Laboratories controlled the research systems versions of UNIX, known as versions 1 through 6 These versions had three important characteristics: 1. The UNIX system was continually developed and written in C, with only a small subset of the code tailored to a target processor. 2. Releases were distributed as C source code, which could be easily modified and improved upon to add functionality by those who obtained any of the research versions of the system. 3. The design of the system allowed users to run multiple processes concurrently and to connect these processes with IPC channels including pipes, sockets, etc. What is Unix ? Unix is an operating system. Mostly command based operating system. It is distributed under an open source license. It provides a hierarchical file structure which allows easier access and maintenance of data. The foundation of modern day Linux and BSD operating systems. A computer operating system which is capable of handling activities from multiple users at the same time. Unix Architecture FTP mail Kernel The UNIX operating system is comprised of three parts; the kernel, the shell and the other programs.. Kernel is the heart of Unix operating system. It allocates the system resources and coordinate all the details of the computer's internals. It interacts with the hardware and perform most of the tasks like; memory management, task scheduling, file management, input and output requests access CPU and peripheral device like hard disk, DVD, RAM, Printers, etc. Kernel cont.. It provides the basic software connection to the hardware. The kernel is very complex and deals with the inner workings of these things. The kernel is the core of the operating system that directly interacts with the underlying hardware to provide a set of standard services. Kernel subsystems may include process management, file management, memory management, network management and others. It allocates time and memory to programs and handles the file store and communications in response to system calls. Shell Utility that processes user requests. Users communicate with the kernel through a program known as the shell. When you type in a command at your terminal, the shell interprets the command and calls the program that you want and pass the request to kernel. Basic Unix shells provides a “command line interface” which allows the user to type in commands. These commands are translated by the shell into something the kernel can comprehend and then executed by the kernel. The shell is a program that reads the user commands, evaluates it, and then prints the result. For evaluating the command, the shell may execute other commands, or pass them to the ‘kernel’. The shell acts as an interface between the user and the kernel. Provides access to commands. Shell Cont.. The shell is a command line interpreter (CLI). It interprets the commands the user types in and arranges them to be carried out. The commands are themselves programs: When they terminate, the shell gives the user another prompt (%,on our systems). Translate user commands and convert to machine understandable form. Bash shell, C shell, Bourne shell and Korn shell are the most famous shells which are available with most of the Unix variants. When we type a command at Unix terminal, the shell interprets the command and calls the program that you want. The shell uses standard syntax for all commands. Application programs Linux distributions typically come with several useful application programs as standard. Examples include: Text editor (nano, emacs) Browser (Fire fox) Image viewer (xv) Compiler (gcc, g++) xfig (a drawing package), soffice (StarOffice) which is an MS-Office style clone Package manager which makes it easy to install and uninstall application programs. Basic Features on Unix Portable: can work on different types of hardware in same way. Unix kernel and application programs supports their installation on any kind of hardware platform. Open Source: Linux source code is freely available and it is community based development project. Multiple teams work in collaboration to enhance the capability of Linux operating system and it is continuously evolving. Multi-User: multiple users can access system resources like memory/RAM/ application programs at same time. Multiprogramming: multiprogramming system means multiple applications can run at same time. Hierarchical File System: provides a standard file structure in which system files/ user files are arranged. Shell: provides a special interpreter program which can be used to execute commands of the operating system. It can be used to do various types of operations, call application programs. etc. Security: provides user security using authentication features like password protection, controlled access to specific files, encryption of data. Excellent Networking Environment: offers programs and utilities that provide the services needed to build networked applications -the basis for distributed, networked computing. With networked computing, information and processing is shared among different computers in a network. The UNIX system has proved to be useful in client/server computing where machines on a network can be both clients and servers at the same time. UNIX also has been the base system for the development of Internet services and for the growth of the Internet. Flavors/ Versions of Unix There are various Unix variants available in the market. Solaris Unix, AIX, HP Unix Linux BSD are a few examples. Unix Distributions There are many different versions of Linux, and unlike other commercial operating systems that are controlled, distributed and supported by only one company. The core of Linux is free to distribute and use. The three most popular Desktop The four most popular Server versions of Unix distributions of Unix are; are; Fedora Debian Ubuntu CentOS Linux Mint OpenSUSE Slackware Ubuntu Ubuntu is an operating system that is developed by a worldwide community of programmers as well as by employees of Ubuntu's commercial sponsor, Canonical. Ubuntu is based on the concept of free or open-source software and you can download, use, and share the operating system free of charge. Download link: https://www.ubuntu.com/Downloads/AlternativeDownloads Ubuntu 18.04.5 LTS Fedora Fedora is a Linux-based operating system created back in 2003 as a community distribution called the Fedora Project. It was released along with Red Hat Enterprise Linux, which was to be the next official Linux distribution after Red Hat Linux was discontinued. Its main purpose was to serve as a source of software innovations for the Read Hat Enterprise Linux releases. OpenSUSE OpenSUSE is based on rpm package management. It is a very simple but highly customizable and efficient Linux distro. OpenSUSE includes huge amount of softwares in their repository plus in third party repositories too. It includes Mozilla Firefox as default web browser You can easily work with your documents using Libreoffice. Centos / Red Hat Enterprise Linux Red Hat Enterprise Linux is a commercial Linux distribution intended for servers and workstations. It’s based on the open-source Fedora project, but is designed to be a stable platform with long-term support. Red Hat uses trademark law to prevent their official Red Hat Enterprise Linux software from being redistributed. CentOS is a community project that takes the Red Hat Enterprise Linux code, removes all Red Hat’s trademarks, and makes it available for free use and distribution. Debian Operating system composed only of free, open-source software. This widely respected project is still releasing new versions of Debian, but it’s known for moving much more slowly than distributions like Ubuntu. This can make it more stable and conservative, which is ideal for some systems. linux Mint Mint is a Linux distribution built on top of Ubuntu. It uses Ubuntu’s software repositories, so the same packages are available on both. Originally, Mint was an alternative distribution loved mainly because it included media codecs and proprietary software that Ubuntu didn’t include by default. Why Use UNIX? multi-tasking / multi-user lots of software networking capability graphical (with command line) easy to program portable (PCs, mainframes, super-computers) UNIX Interfaces GUI: to login to front of a dual-bootable PC that you have booted into Unix and logged onto. All of your commands are then being run locally on that computer. When you logon in this manner you have a full GUI environment. The GUI just another application (or set of applications) that can be installed and run on top the existing text-based OS. CLI: You can connect remotely to one of the UNIX servers (whether from home or at the labs). This is often how your projects are suggested to be developed as they are graded on those same servers. When you logon in this manner you have a command line (or text based) environment. You can also open up a command line on local lab machines as well. All of the commands actually execute on the remote server. In this case you are communicating through a local terminal to one of these remote servers. The Terminal Difference between Unix and other operating systems Different interfaces File system differences Security management: it is a more secured OS Space requirement: Unix required less space Home work Feature DOS WIndow Unix