Upload
hillary-patterson
View
230
Download
0
Tags:
Embed Size (px)
Citation preview
UNIT - I
Syllabus
Introduction to Open Source Operating Systems and Programming Languages, Introduction to Bharat Operating System (BOSS) GNU/Linux users model GUI, System Folders, study Commands (Using command terminal) with switches : ls, Directory Commands, Change user, privileges, passwords, tty, who, config, make, rpm, yum, sudo, Shutdown
Eclipse Editor, Compiler, Linker, Libraries, GUI, Configuring Programming Environments: C, C++. Java, Python (Pydev), Output, Debug windows
2FPL-I UNIT-I
Syllabus ..
Introduction to types of Programming Languages – Machine-level, Assemblylevel and High-level Languages, Scripting Languages, Natural Languages; Their relative Advantages and Limitations. Characteristics of a Good Programming Language; Selecting a Language out of many available languages for coding an application; subprograms.
Short Introduction to LISP, Simulation Platforms: MATLAB and GNU Octave(Open Source), Importance of Documentation, Documentation Platform LATEX (Free ware/Open Source).
3FPL-I UNIT-I
What is Computer?
Prof. N. B. Pokale
Computer is an electronic device used to perform Arithmetic & logical operations depeneds on input given to it .
Computers only understand binary language i.e. 0s and 1s
FPL-I UNIT-I 4
Generations of Computer
First Generation Second Generation Third Generation Fourth Generation Fifth Generation
Prof. N. B. PokaleFPL-I UNIT-I 5
First Generation
H/W Technology Vacuum tubes
S/W Technology M/C and Assembly Lang.
Prof. N. B. Pokale
Vacuum Tube
FPL-I UNIT-I 6
Second Generation
H/W Technology Transistors
S/W Technology High Level Lang.
Prof. N. B. PokaleFPL-I UNIT-I 7
Third Generation
H/W Technology ICs with SSI and MSI technology
S/W Technology Standardization of High Level Lang.
Prof. N. B. PokaleFPL-I UNIT-I 8
Fourth Generation
H/W Technology ICs with VLSI technology,
Microprocessors S/W Technology
GUI based OS( multitasking), UNIX OS, C Lang, N/W based Applications,C,C++,smalltalk
Prof. N. B. PokaleFPL-I UNIT-I 9
Fifth Generation
H/W Technology ICs with ULSI technology, Larger Capacity Main
Memory & HDD S/W Technology
WWW, Multimedia Applications, Internet Based applications
Prof. N. B. PokaleFPL-I UNIT-I 10
Terminologies
Prof. N. B. Pokale
PC
Hardware (hard to change)
Software(easy to change)
System software
E.g .Operating system
Application software E.g. Railway reservation
system
FPL-I UNIT-I 11
Prof. N. B. Pokale
Figure 1-4: Software
FPL-I UNIT-I 12
Prof. N. B. Pokale
Secondarystorage
Input devices Output devices
Controlunit
Arithmetic/logic unit
Register storage area
CPU
Main Memory
Structure of Computer
FPL-I UNIT-I 13
Hardware Components Central processing unit (CPU)
A hardware component that performs computing functions utilizing the ALU, control unit, and registers.
Arithmetic/logic unit (ALU) Performs mathematical calculations and makes logical
comparisons Control unit
Coordinates flow of data in/out of ALU, registers, primary and secondary storage, and various output devices
Prof. N. B. PokaleFPL-I UNIT-I 14
Hardware Components
Registers High-speed storage areas used to temporarily hold small
units of program instructions and data immediately before, during, and after execution by the CPU
Primary storage Holds program instructions and data (main memory)
Prof. N. B. PokaleFPL-I UNIT-I 15
Prof. N. B. Pokale
Memorytypes
PrimaryRAM,ROM
SecondaryHDD,CD,PenDrive
FPL-I UNIT-I 16
Devices for Secondary Storage
• HDD
• Compact Disk Read-Only Memory (CD-ROM)
• Digital Video Disks
• Memory cards
• Removable storage
Prof. N. B. PokaleFPL-I UNIT-I 17
Input Devices
Prof. N. B. Pokale
•Digital cameras•Scanning devices•Touch sensitive screens•Keyboard•Mouse
FPL-I UNIT-I 18
Output Devices
Display monitors Liquid Crystal Displays (LCDs) Printers and plotters
Prof. N. B. PokaleFPL-I UNIT-I 19
Storage Capacity
Unit Symbol
kilobyte KB 210 = 1024
megabyte MB 220 =1024 KB
gigabyte GB 230 = 1024 MB
terabyte TB 240 = 1024 GB
Prof. N. B. PokaleFPL-I UNIT-I 20
Applications of computer
Business application Industrial applicationsHome applicationsEducation and TrainingScience applicationsArts and Entertainment
Prof. N. B. PokaleFPL-I UNIT-I 21
Distribution of Software
Software made available to intended users through two forms.
i. Closed Source/Licensed
ii. Open Source
iii.Pirated
FPL-I UNIT-I Prof. N. B. Pokale 22
Closed Source Software
Closed source software is a proprietary software
It is distributed under a licensing agreement to users.
The users can not modify, copy, or redistribute the software
FPL-I UNIT-I Prof. N. B. Pokale 23
Open Source Software
Open-source software (OSS) is computer software that is available with source code.
the source code and certain other rights normally reserved for copyright holders are provided under an open-source license that permits users to study, change, improve and at times also to distribute the software.
Open source software is very often developed in a public, collaborative manner.
Examples- Linux, Apache, Firfox, OpenOffice
FPL-I UNIT-I Prof. N. B. Pokale 24
Introduction to Open Source Operating System BOSS BOSS is GNU/Linux distribution developed by C-
DAC It is derived from Debian for enhancing the use of
free/open source software throughout India. It has support for almost all Indian languages. It is available in all the official Indian languages
such as Marathi, Hindi, Gujarati, Punjabi, Sanskrit, Tamil etc.
FPL-I UNIT-I Prof. N. B. Pokale 25
Features of BOSS User friendly Graphical Installer Indian version of OpenOffice- Bharatheeoo 3D Desktop Auto detection of devices Hardware support for many electronic gadgets Auto mounting of all hard disk partitions Localization support for desktop Smart common input method Migration tool- Bulk document converter Internet tools- Pidgin, Firefox, X-chat, Ekiga Multimedia support Kennel- An application to send SMS
FPL-I UNIT-I Prof. N. B. Pokale 26
Screen Shots of BOSS
FPL-I UNIT-I Prof. N. B. Pokale 28
Desktop Components
FPL-I UNIT-I Prof. N. B. Pokale 29
BOSS APPLICATION MENU
FPL-I UNIT-I Prof. N. B. Pokale 30
BOSS ACCESSORIES MENU
FPL-I UNIT-I Prof. N. B. Pokale 31
BOSS PLACES MENU
FPL-I UNIT-I Prof. N. B. Pokale 32
BOSS SYSTEM PREFERENCES
FPL-I UNIT-I Prof. N. B. Pokale 33
BOSS TERMINAL WINDOW
FPL-I UNIT-I Prof. N. B. Pokale 34
Linux System Folders
FPL-I UNIT-I Prof. N. B. Pokale 35
FPL-I UNIT-I Prof. N. B. Pokale 36
Root(/) The starting point of your directory structure. This is where the Linux system begins. Every other file and directory on your system is under the
root directory. Usually the root directory contains only subdirectories, so
it's a bad idea to store single files directly under root. Boot (/boot)
As the name suggests, this is the place where Linux keeps information that it needs when booting up.
For example, this is where the Linux kernel is kept. If you list the contents of /boot, you'll see a file called vmlinuz - that's the kernel.
FPL-I UNIT-I Prof. N. B. Pokale 37
etc (/etc) The configuration files for the Linux system. Most of these
files are text files and can be edited by hand. Some interesting stuff in this directory:
/etc/inittabA text file that describes what processes are started at
system bootup and during normal operation /etc/fstab
This file contains descriptive information about the various file systems and their mount points, like floppies, cdroms, and so on.
/etc/passwdA file that contains various pieces of information for each
user account. This is where the users are defined.
FPL-I UNIT-I Prof. N. B. Pokale 38
/bin, /usr/bin These two directories contain a lot of programs (binaries,
hence the directory's name) for the system. The /bin directory contains the most important programs that
the system needs to operate, such as the shells, ls, grep, and other essential things.
/usr/bin in turn contains applications for the system's users. However, in some cases it really doesn't make much difference if you put the program in /bin or /usr/bin.
/sbin, /usr/sbin Most system administration programs are stored in these
directories. In many cases you must run these programs as the root user.
FPL-I UNIT-I Prof. N. B. Pokale 39
/usr This directory contains user applications and a variety of
other things for them, like their source codes, and pictures, docs, or config files they use. /usr is the largest directory on a Linux system, and some people like to have it on a separate partition. Some interesting stuff in /usr:
/usr/docDocumentation for the user apps, in many file formats.
/usr/shareConfig files and graphics for many user apps.
/usr/srcSource code files for the system's software, including the
Linux kernel.
FPL-I UNIT-I Prof. N. B. Pokale 40
/usr/includeHeader files for the C compiler. The header files define
structures and constants that are needed for building most standard programs.
A subdirectory under /usr/include contains headers for the C++ compiler
/usr/X11R6The X Window System and things for it. The subdirectories under /usr/X11R6 may contain some
X binaries themselves, as well as documentation, header files, config files, icons, sounds, and other things related to the graphical programs.
/usr/localThis is where you install apps and other files for use on
the local machine
FPL-I UNIT-I Prof. N. B. Pokale 41
/lib The shared libraries for programs that are dynamically
linked. The shared libraries are similar to DLL's on Winblows
/home This is where users keep their personal files. Every user has their own directory under /home, and usually
it's the only place where normal users are allowed to write files.
You can configure a Linux system so that normal users can't even list the contents of other users' home directories.
/root The superuser's (root's) home directory. Don't confuse this
with the root directory (/) of a Linux system.
FPL-I UNIT-I Prof. N. B. Pokale 42
/var This directory contains variable data that changes constantly
when the system is running. Some interesting subdirectories: /var/log
A directory that contains system log files. They're updated when the system runs, and checking
them out can give you valuable info about the health of your system.
If something in your system suddenly goes wrong, the log files may contain some info about the situation.
/var/mail Incoming and outgoing mail is stored in this directory.
/var/spoolThis directory holds files that are queued for some
process, like printing.
FPL-I UNIT-I Prof. N. B. Pokale 43
/tmp Programs can write their temporary files here.
/dev The devices that are available to a Linux system. Remember that in
Linux, devices are treated like files and you can read and write devices like they were files.
For example, /dev/fd0 is your first floppy drive, /dev/cdrom is your CD drive, /dev/hda is the first IDE hard drive, and so on.
All the devices that a Linux kernel can understand are located under /dev, and that's why it contains hundreds of entries.
/mnt This directory is used for mount points. The different physical storage
devices (like the hard disk drives, floppies, CD-ROM's) must be attached to some directory in the file system tree before they can be accessed. This attaching is called mounting, and the directory where the device is attached is called the mount point.
The /mnt directory contains mount points for different devices, like /mnt/floppy for the floppy drive, /mnt/cdrom for the CD-ROM, and so on. However, you're not forced to use the /mntdirectory for this purpose, you can use whatever directory you wish. Actually in some distros, like Debian and SuSE, the default is to use /floppy and /cdrom as mount points instead of directories under /mnt.
FPL-I UNIT-I Prof. N. B. Pokale 44
/proc This is a special directory. Well, actually /proc is just a
virtual directory, because it doesn't exist at all! It contains some info about the kernel itself. There's a bunch of numbered entries that correspond to all processes running on the system, and there are also named entries that permit access to the current configuration of the system. Many of these entries can be viewed.
/lost+found Here Linux keeps the files that it restores after a system
crash or when a partition hasn't been unmounted before a system shutdown. This way you can recover files that would otherwise have been lost.
Linux Commands The Linux command line
As you probably know, there are two kinds of user interfaces out there: graphical user interfaces (GUI's) and command line interfaces (CLI's)
You probably know that in a GUI you control things by pointing and clicking with your mouse, and in a CLI you type commands with your keyboard.
The shell program The shell is the program that interacts between you and the
operating system. When you type commands, it's the shell that reads the commands from your keyboard, processes them, and finally gives them to the operating system.
FPL-I UNIT-I Prof. N. B. Pokale 45
Linux Commands….
pwd (Finding out where you are) The directory where you're currently working in, is
called (surprise surprise) the working directory. To find out where the working directory is, you use
the pwd command that stands for print working directory ls
It is a linux shell command that lists directories and files in the current directory.
Example ls –a ls -B
FPL-I UNIT-I Prof. N. B. Pokale 46
Linux Commands…. Directory command
cd: Changes direcotory dir: Briefly list directory contents mv: Move or rename files or directories rmdir: Removes directory
User and Privilege Management who: print all user names currently logged in who am i: Print current user id and username chown: change file owner and group chmod: change access permissions chgrp: change group ownership.
FPL-I UNIT-I Prof. N. B. Pokale 47
Linux Commands….
Password command passwd: Modify user password
tty: It stands for terminal type. It prints the file name of the terminal connected to standard input.
make: It is used to compile programs rpm: It is a powerful package manager. It is used to build,
query, verify, update and erase individual software packages.
yum: Yellowdog Updater Modified. It is used to install and remove packages.
FPL-I UNIT-I Prof. N. B. Pokale 48
Linux Commands….
sudo: It executes a command as another user. Sudo allows a permitted user to execute a command as the super user.
Shutdown: this command brings the system down. Shutdown brings a system down in a secure way. All the logged in users are notified that the system is
going down, and login is blocked. It is possible to shut the system down immediately or after a specified delay.
FPL-I UNIT-I Prof. N. B. Pokale 49
Eclipse IDE Text Editor
A text editor is used for editing plain text or text files Compiler
It translates source code into target language. Linker
It is used to link different files to make executable file. IDE
An IDE normally consists ofi. A source code editorii. Build automation toolsiii.A debugger or an interpreter or both
FPL-I UNIT-I Prof. N. B. Pokale 50
FPL-I UNIT-I Prof. N. B. Pokale 51
Eclipse Workspace Launcher
FPL-I UNIT-I Prof. N. B. Pokale 52
Eclipse IDE for Java Program
Prof. N. B. Pokale 53
What is Programming Language?
A language that is acceptable to computer system is called as Computer Language or Programming Language
FPL-I UNIT-I
Prof. N. B. Pokale 54
Types of Programming Languages
Machine-Level Assembly-Level High-Level
FPL-I UNIT-I
Prof. N. B. Pokale 55
Machine-Level Language
Only Lang understood by computer Consist of 0’s and 1’s It has two part format
Opcode It tells computer what function to perform
Operand It tells where to find or store the data, or other
instructions
FPL-I UNIT-I
Prof. N. B. Pokale 56
Advantages & Disadvantages
Advantages Faster Execution
Disadvantages Machine dependent Difficult to program Error prone Difficult to modify
FPL-I UNIT-I
Prof. N. B. Pokale 57
Assembly Language
Designed in 1952 Alphanumeric mnemonics codes instead of numeric codes
for instructions Each line consists of 4 columns [Label]<Opcode><Operand>[;comment] Example
Label Opcode Operand Comment
BEGIN ADD A,B ;Add B to A
FPL-I UNIT-I
Prof. N. B. Pokale 58
Advantages & Disadvantages
Advantages Easy to understand & use Easy to correct and locate errors Easy to modify
Disadvantages Machine dependent Knowledge of h/w required
FPL-I UNIT-I
Prof. N. B. Pokale 59
Assembler
AssemblerInput Output
Assembly Lang Program
Machine Lang Program
Definition: Converts Assembly Lang program into it’s equivalent
machine Lang program
FPL-I UNIT-I
Prof. N. B. Pokale 60
High-Level Languages
Overcome limitations of Low level Languages( Machine & Assembly Language)
FPL-I UNIT-I
Prof. N. B. Pokale 61
Compiler
CompilerInput Output
High-Level Lang Program
Machine Lang Program
Translate high levele lang. instructions into m/c lang. instructions
FPL-I UNIT-I
Prof. N. B. Pokale 62
Interpreter
Input OutputHigh-Level Lang Program
m/c Lang Program
Interpreter( Translates & Executes statement-by-statement)
Fig. Role of Interpreter
Translates statement-by-statement instruction into machine Lang & immediately executes resulting Machine Lang instruction
FPL-I UNIT-I
Prof. N. B. Pokale 63
Linker
Source File 1 Source File 2 Source File 3
Compiler
Object File 1 Object File 2 Object File 3
Compiler Compiler
Linker Program Library
Executable File
Fig. Role of Linker
FPL-I UNIT-I
Prof. N. B. Pokale 64
Loader
Loader is component of compiler Locates given program in offline storage Loads into main memory for execution
FPL-I UNIT-I
Prof. N. B. Pokale 65
Advantages of High level Lang.
Machine Independent Easy to Learn and Use Less Errors
Disadvantages Lower Efficiency
FPL-I UNIT-I
Prof. N. B. Pokale 66
FORTRAN
FORmula TRANslation. Designed for scientific and mathematical applications by
scientists and engineers. Algebra based lang General purpose and procedural language Oldest HLL BY JOHN BACKUS
FPL-I UNIT-I
Prof. N. B. Pokale 67
COBOL
COmmon Business Oriented Language. Best File handling capability Typically used for business applications. GRACE HOPPER
FPL-I UNIT-I
Prof. N. B. Pokale 68
BASIC
Beginner’s All-purpose Symbolic Instruction Code. Today, it is not used to develop the programs but used to
teach fundamentals of programming Interpreted language
FPL-I UNIT-I
Prof. N. B. Pokale 69
Pascal
● Named after French philosopher and mathematician Blaise Pascal.
● Start with keyword begin● Teaching Lang.● Platform independent● Used for scientific computational appl.
FPL-I UNIT-I
Prof. N. B. Pokale 70
C
Developed at Bell Laboratories in the 1972 by Dennis Ritchie.
Provides efficiency of assembly language while having third generation language features.
Often used for system programs. UNIX is written in C. Easy to learn and use Rich set of in built functions
FPL-I UNIT-I
Prof. N. B. Pokale 71
C++
Developed by Bjarne Stroupstrup in 1983 It is C language with additional features. Object oriented language
FPL-I UNIT-I
Prof. N. B. Pokale 72
JAVA
Developed by Sun Microsystem in 1991 An object-oriented language Platform independent Jvm is m/c dependent
FPL-I UNIT-I
Prof. N. B. Pokale 73
LISP
● LISt Processing Language● Language based on lambda calculus. (Mathematical
notation for expressing functions.)● Permit the use of recursion● Used in AI research
FPL-I UNIT-I
Prof. N. B. Pokale 74
MATLAB MATrix LABoratory Possesses tools for building custom GUI Includes mathematical functions
Linear algebra, Fourier analysis, numerical integration USE
Image & signal processing
FPL-I UNIT-I
Prof. N. B. Pokale 75
Scripting Lang
A scripting language is a form of programming language that is usually interpreted rather than compiled.
Used for web development Examples: Javascript ,vbscript,html etc
FPL-I UNIT-I
Prof. N. B. Pokale 76
Characteristics of Good PL Portability Reliability Performance Reusability
FPL-I UNIT-I
Prof. N. B. Pokale 77
Selecting Language for Coding
Selecting Lang out of many available Languages for coding an Application depending on following factors
Nature of Application Familiarity with Lang Ease of Learning Lang Execution Efficiency
FPL-I UNIT-I