1 / 41

Computer Hardware

Computer Hardware. Course: CIS 3003 Fundamental of Information Technology. Software. A series of instructions to be executed by hardware. Uses of Software. To control hardware Operating Systems Device Drivers BIOS. Complex functionalities Applications Web site Databases Mobile App.

fallon
Download Presentation

Computer Hardware

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. Computer Hardware Course: CIS 3003 Fundamental of Information Technology

  2. Software • A series of instructions to be executed by hardware.

  3. Uses of Software To control hardware • Operating Systems • Device Drivers • BIOS Complex functionalities • Applications • Web site • Databases • Mobile App

  4. Programming Languages Low-level programming languages: Machine Code, Assembly High-level languages C, C++, C#, Java JavaScript, VBScript HTML, XML • Low-level language is faster to execute due to ability to optimize according to the hardware design • High-level language is much easier to read and program and abstract the tedious details related to the hardware.

  5. Machine Code • binary code to be executed directly by the machine • Often expressed in a hexadecimal format to make more readable to human. • Tied specifically to the instruction set used by processor or process family. Example: Store a constant to a register in an X86 processor. • Instruction binary code is 10110 • Identifier code for AL register is 000 • Suppose the value of the constant is 01100001 • The binary machine code for this instruction is 1011000001100001 • Hexadecimal representation of the code is B061

  6. Assembly Languages • Tied specifically to the instruction set used by processor or process family. • Assembler converts assembly language to machine code. • Provides symbolic reference to data • Used in BIOS, device driver, embedded system. Example: Store a constant to a register in an X86 processor. • The binary machine code for this instruction is 1011000001100001 • The assembly language of the above instruction is MOV AL, 61h ; • 61h is hexadecimal value of the constant in previous slide.

  7. High-level Languages Compiled Languages: source code is compiled to some lower level binary executable. • C, C++ Interpreted Languages: Source code is compiled into a byte code that can be executed in various operating system platforms with appropriate interpreter. • Java Scripting Languages: Source code is distributed and appropriate software interpreted the code. • JavaScript, VBScript Markup Languages: text annotation that describe text data or the format of the data. Text can be fed to any program that understands the annotation. • HTML, XML

  8. Compiled Languages • Source code is compiled to machined code. • Executable cannot be run on different O/S. • Compiler checks for syntax error. Examples: C, C++ Source Code Windows Compiler Linux Compiler Windows executable Linux executable

  9. Interpreted Languages Source Code • Source code is compiled to byte code. • Byte code then compiled by interpreter into machine code. • Compiler checks for syntax error. Examples: Java, .NET Compiler Byte Code Windows Interpreter Linux Interpreter Windows machine code Linux machine code

  10. Compiled vs. Interpreted Compiled Advantage • Run faster; executable is already machine code. Disadvantage • Distribute and maintain several versions of executables for intended operating systems. Good for local run applications Interpreted Advantage • Programmer distributes one jar file. Disadvantage • Run slower since the byte code needs first to be compiled into binary code. Good for web applications such as Java Applet.

  11. Simple C program

  12. Same program in Java

  13. Script/Markup Languages Source Code • Script is a light weight and weak- typed interpreted language • No byte code; the source code or the text data delivered to end user. Examples: • JavaScript, VBScript • HTML, XML Internet Explorer Firefox User GUI User GUI

  14. HTML page with JavaScript

  15. Scalable Vector Graphics

  16. Scalable Vector Graphics

  17. Types of Software System Software BIOS, operating system (O/S), device firmware, device drivers Application Software Word, Excel, Outlook, Open Office. Web Browser, Windows Live iTunes, Windows Media Player Enterprise software • System software provides Application software an interface to control computer hardware. • Application software allows computer user to perform task without worry about the details of hardware specification.

  18. BIOS BIOS: Basic Input / Output System • Loads driver, operating system • Things included in BIOS • Boot order of multiple O/S and boot devices such as CD-ROM, hard drive, USB flash drive. • Device configuration • Loads O/S

  19. BIOS

  20. Operating System • Manages directories, folders, and files • Manages memory • Manages hardware and software • Provides computer networking functions Example: Windows, DOS, Linux, Ubantu

  21. Operating Systems

  22. Operating Systems

  23. Device Firmware • Programs that resides on the hardware itself. • Can be permanently stored on the device or loaded dynamically by the device driver. • Example devices with firmware: • Storage devices • Video and sound card • External printer, scanner, camera, usb drive. • ROM BIOS firmware on a PCB (motherboard). • Lexmark Flash Firmware ROM

  24. O/S, driver, and firmware Application Example • In a C, a programmer calls fopen() that returns a function pointer. • O/S uses a device driver appropriate for the device that stores the file. • The device driver communicates with the firmware stores on the disk drive. • The firmware returns a pointer that points to the address of the file on the disk drive. O/S Device driver Device firmware Device

  25. Productivity Applications • Allow users to quickly performs tasks and increase their productivity • Word software allows a report to be done quickly. • Spreadsheet allows a person to quickly analyze data such as sum and average and present numerical data in easy to read format. • Outlook automatically downloads emails and reminds a user of new emails.

  26. Communication Applications • Browser allows an user to gain knowledge through World Wide Web. • Instant messaging software allow friends and family stay in touch even if they are on the other side of the globe. • VoIP software allows meeting to be taken place without attendees to be present in one physical location.

  27. Multimedia Applications • iTunes and MP3 that plays music and stores songs on hard drives or portable flash drives. • Windows Media Player displays a group of pictures as a photo album. • Adobe flash provides interactive content to web page. Useful for online game development.

  28. Enterprise Applications • Employee management software such as PeopleSoft manages employee and payroll • Salesforce manages sales team and assign inventory to individual sales person. • Inventory software tracks amount of an item is in stock and sends reminder for low inventory count items. • Customer management software stores contact and account information of customer.

  29. Software Development Process • Waterfall • Iterative / Spiral • Agile • Open source

  30. Water fall model • The waterfall model consists of several critical phases, each of which must be fully completed before the next stage can commence • During the definition phase, the software company interacts with the customer to clarify needs and constraints • Before actually writing code, the software development team must thoroughly understand the customer’s requirements and limitations

  31. Water fall model

  32. Customer Constraints • Examples of constraints on the customer’s side may include: • Economic limitations • Time constraints for software implementation • Maintenance costs for managing the product Information Technology in Theory

  33. Customer Requirements • Requirements may include: • Detailed business-specific functions that the software will support • Information about who will use the product • Security criteria • Specifications for interacting with existing data stores Information Technology in Theory

  34. Software Design • Once requirements are clearly defined, a design team works to create the software’s design architecture • Accounting for tools that would be most useful to ensure compatibility with the customer’s systems • Minimizing problems that the development teams are likely to face • Software programmers and engineers then start to write programs using the selected approach Information Technology in Theory

  35. Software Testing • The software is tested to remove and fix any errors, or bugs • Testing may be implemented in two stages called alpha testing and beta testing • Alpha testing is normally conducted by the software development team • Then the software undergoes beta testing, and a beta version of the complete software is released to the customer • Customers report bugs to the developer Information Technology in Theory

  36. Iterative • After initial planning phase, the development process is iterated through several stages including planning, requirement analysis, deployment, testing, evaluation.

  37. Spiral

  38. Agile • Release frequent prototype versions allowing end users to modify requirements and communicates with the development teams through out the development process.

  39. Open Source Software • Source code is openly available to the public • Anyone can view, copy, or change the software without having to pay licensing fees or royalties • The development of open source code is usually collaborative, with multiple parties and interests producing the code and improving it for mutual benefit. Information Technology in Theory

  40. Open Source Software • Open Office: www.openoffice.org • Apache HTTP Server • Linux • Mozilla Firefox • MySQL

  41. Summary • Discussed High-level and Low-level languages • Discussed the relationship among Application Software, Operating System, Device Firmware, and Device Driver. • Discussed various Application Software. • Discussed various methods of software development.

More Related