Presentation is loading. Please wait.

Presentation is loading. Please wait.

SIMS-201 Computer Software.

Similar presentations


Presentation on theme: "SIMS-201 Computer Software."— Presentation transcript:

1 SIMS-201 Computer Software

2 Overview Computer Software Assembly Code Operating System
Programming Language Application

3 Introduction Computer software consists of the instructions and application programs that permit computers to accomplish tasks It is called software because, unlike hardware that has fixed configurations, connections, and operation, the software is flexible and easily modified Software programs control computers at 4 different levels: Assembly code Operating system Programming language Application

4 Hierarchy of Software Application Operating System Assembly Code
Programming Language (High Level Language) Application

5 Assembly Code Assembly Code, also called assembly language is the most basic language of the computer and consists of elementary instructions recognized by the CPU It is a a human-readable notation for the lowest level language-the machine language that a specific computer architecture uses. Machine language, a mere pattern of bits, are instructions directly recognized by the CPU Machine language is made readable (i.e. converted to assembly language) by replacing these pattern of bits with symbols called ‘mnemonics’ (ex. ADD, SUB, LOAD, JUMP) Unlike high-level languages, there is a 1-to-1 mapping from simple assembly to machine language, so that computers can translate in both directions without losing information. Assembly language is converted to machine language by an assembler

6 Examples of assembly code instructions (mnemonics) include: ADD and MOV
Assembly code instructions perform the basic computer operations including moving data, changing contents of registers, adding the contents of two registers and jumping to different parts of a program For example, the computer performs the arithmetic operation: as follows: MOV 1, R0 (Move the number 1 into Register 0) MOV 2, R1 (Move the number 2 into Register 1) ADD R0, R1 (Add R0 to R1 and put the result in Register 1) MOV 4, R0 (Move the number 4 into Register 0) ADD R0, R1 (Add R0 to R1 and put the result into Register 1) Assembly code is different for each type of computer and a code written for the Intel Pentium (IBM) microprocessor chip will not operate on the PowerPC (Macintosh) microprocessor

7 There are two types of instruction sets:
The set of instructions a processor recognizes (can execute) is called an instruction set. There are two types of instruction sets: Reduced Instruction Set Computer (RISC) – ex. AMD Complex Instruction Set Computer (CISC) – ex. Pentium The reduced instruction set only contains very simple instructions such as ADD, SUB (subtract), LD (load from memory) and is argued to be faster to execute. On the other hand, the complex instruction set includes the RISC + implements a few more complex instructions.

8 Operating System The operating system is a set of commands that performs common system tasks such as accepting data from the keyboard, displaying data on the monitor, sending data to the printer, examining the contents of a directory, etc. It is stored on the hard disk and is loaded to memory when the computer is switched on An operating system is conceptually broken into two components: A shell and a kernel. The shell is a command interpreter and as the name implies, is an outer wrapper to the kernel which in turn talks directly to the hardware Hardware Kernel Shell Applications In some operating systems the shell and the kernel are completely separate entities, allowing you to run varying combinations of shell and kernel (eg Unix), in others, the separation is only conceptual (eg Windows). Source: wikipedia.org

9 Examples of operating systems
MS-DOS (Microsoft disk operating system) Introduced in 1981 Required basic familiarity with its operation and organization Intel computers such as commonly used MS-DOS Users were required to know basic commands (abbreviations) such as dir or del to perform tasks Uses a command line user interface-is non graphical MacOS Introduced in 1984 Operating system for apple Macintosh computers First commercially successful OS which used GUI (graphical user interface) Used icons to represent data structures Microsoft Windows Often used with PC’s (home use) Introduced in 1985 in response to MacOS

10 Unix and similar systems
MacOS X Linux Solaris operating environment Microsoft Xenix AIX by IBM

11 Linux Linux is causing a revolution in the world of computers
Initially created as a hobby by a young student called Linus Torvalds at the University of Helsinki in Finland It may be used for a variety of purposes including networking and software development It is often considered to be an excellent, low-cost alternative to other more expensive operating systems The attractiveness of Linux is that its source code, which is a series of commands written in a programming language is freely available to anyone – open source The source code can be modified to fit the individual needs of the user It is developed under the GNU General Public License, enabling the user to share and change free software in comparison to most other software whose source code is concealed, preventing users to share or modify it Source: linux.org

12 Operating system classification
Operating Systems can be classified as: GUI: Graphical User Interface operating systems are operating systems that have the capability of using a mouse and are graphical Multi user: allows multiple users to utilize the computer and run programs at the same time Multi processing: allows multiple processors to be utilized Multi tasking: allows multiple software processes (also called programs or applications) to be run at the same time Multi threading: allows different parts (threads) of a software process to run concurrently

13 Programming Language Higher level programming languages contain instructions that are more powerful, more general and better suited for programming a task than the basic assembly language instructions Each higher level language instruction might consist of hundreds of assembly language instructions (after it is converted to assembly) Software programmers write the most efficient and fastest programs in assembly language, however that is more difficult, error prone, and time consuming than using a higher level language The higher level computer programming languages were invented to make program development easier. Examples of such languages are: FORTRAN, BASIC, PASCAL, etc.

14 Examples of programming languages:
Programs written by programmers are translated into the machine language by a compiler Examples of programming languages: BASIC COBOL Pascal C C++ Java C#.NET Visual Basic Perl HTML XML

15 Developing a Computer Program
Compiler Link/load Executable module Source code Machine language Output Input data High-level Low-level Language Programmer Writes program in source code (higher level language) Compiler Converts source code to machine language code Linker Combines machine language with libraries & converts them to an executable module Interpreter Translates and executes one line at a time

16 How the program runs LDA 14 1 ADD 15 2 STA 14 3 HLT …. …… 14 10 15 7
Fetch-execute cycle Main memory (RAM) LDA 14 1 ADD 15 2 STA 14 3 HLT …. …… 14 10 15 7 Assume a is stored in 14 and b is stored in 15 Program a= a + b Result 14 17 15 7

17 Processes and Threads What is a process? What is a thread?
Executive Executive Per-process address space What is a process? Represents an instance of a running program You create a process to run a program Starting an application creates a process What is a thread? An execution context within a process All threads in a process share the same per-process address space Thread Thread Thread Systemwide Address Space

18 Application programs An application program is software written by a professional programmer for a specific operating system to perform a particular task such as word processing, spread sheet, graphic design, music editing, etc. Before ‘shrink-wrap’ software was available, i.e. computer users also needed to be computer programmers who knew the operating system and at least one higher level language Such knowledge is no longer necessary and software suitable for a particular application can be directly purchased Examples of application software: MS office Netscape Media player MSN messenger Adobe acrobat

19 Applications Numerical: (number crunching, arrays)
calculator, spreadsheet weather forecasting, computer aided design Symbolic: (data structures, translation) compiler, interpreter, scheduling, circuit layout Information: (records, tables, disks) database, accounts World Wide Web, booking system Systems: (devices, networks, control) window/file/print managers device drivers, network software

20 Application classifications
Classify based on how it was developed Custom Software applications that are developed within an organization for use by that organization COTS Commercial Off-the-shelf (COTS) Software developed with the intention of selling the software in multiple copies Custom software: organization has full control on specifications, functionality, ownership COTS: generally no control Software is sold, leased or licensed

21 Word processing and Electronic Spreadsheets
Create, edit, revise and print documents E.g., Microsoft Word, Lotus WordPro and Corel WordPerfect Electronic Spreadsheets Worksheet of rows and columns Used for calculations and charts E.g., Lotus 1-2-3, Microsoft Excel, Corel QuattroPro

22 Desktop publishing and Presentation Graphics
Produce printed materials that look professionally published E.g., Adobe PageMaker, Microsoft Publisher and QuarkXPress Presentation Graphics Convert numeric data into graphics displays Prepare multimedia presentations including graphics, photos, animation, and video clips E.g., Microsoft PowerPoint, Lotus Freelance, Corel Presentations, Keynote

23 Personal Information Manager and Groupware
Personal Information Manager (PIM) Software for end user productivity and collaboration Store information about clients, schedules, manage appointments, manage tasks E.g., Lotus Organizer, Microsoft Outlook Groupware Software that helps workgroups collaborate on group assignments discussion groups, videoconferencing, instant messaging E.g., Lotus Notes, Novell GroupWise, Microsoft Exchange

24 Software Suites

25 Software Suites Software suites integrate application packages
Advantages: Cost less than buying individual packages All have a similar GUI Work together well Disadvantages Features not used by all users Take a lot of disk space

26 Web Browser Application that supports navigation through the point-and-click resources of the Web Browsing the web Becoming universal for Internet-based applications Internet Explorer, Netscape Navigator, Firefox, Safari

27 E-mail, Instant Messaging and Weblogs
Application to communicate by sending and receiving messages and attachments via the Internet, intranet or extranet Instant messaging (IM) Receive electronic messages instantly Weblog or blog Digital diary Updated with new information about a subject or range of subjects

28 Software Licensing Software Applications are usually licensed
In other words, we purchase a license to use the application under the terms of a licensing agreement This is done in order to protect the vendor’s intellectual property rights


Download ppt "SIMS-201 Computer Software."

Similar presentations


Ads by Google