Presentation is loading. Please wait.

Presentation is loading. Please wait.

SIMS-201 Computer Software. 2 Assembly Code Operating System Programming Language Application  Overview.

Similar presentations


Presentation on theme: "SIMS-201 Computer Software. 2 Assembly Code Operating System Programming Language Application  Overview."— Presentation transcript:

1 SIMS-201 Computer Software

2 2 Assembly Code Operating System Programming Language Application  Overview

3 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 4 Hierarchy of Software Operating System Assembly Code Programming Language (High Level Language) Application

5 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 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: 1+2+4 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 7 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 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 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 286-386-486 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 10 Unix and similar systems Unix MacOS X Linux Solaris operating environment Microsoft Xenix AIX by IBM

11 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 12 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 Operating system classification

13 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 14 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 15 Developing a Computer Program 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 CompilerLink/load Executable module Source code Machine language Output Input data High-level language Low-level Language

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

17 17 Processes and Threads 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 Executive Per-process address space Systemwide Address Space Thread

18 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 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


Download ppt "SIMS-201 Computer Software. 2 Assembly Code Operating System Programming Language Application  Overview."

Similar presentations


Ads by Google