1 / 19

SIMS-201

SIMS-201. Computer Software. Overview. Computer Software Assembly Code Operating System Programming Language Application. Introduction. Computer software consists of the instructions and application programs that permit computers to accomplish tasks

judith
Télécharger la présentation

SIMS-201

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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

  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: 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. 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 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. Unix and similar systems • Unix • 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. 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 Executablemodule Link/load Compiler Input data High-level language Low-level Language Source code Machine language Output • 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 executablemodule • Interpreter • Translates and executes one line at a time

  16. Main memory (RAM) How the program runs Fetch-execute cycle Assume a is stored in 14 and b is stored in 15 Program a= a + b Result

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

  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

More Related