1 / 33

COMP1321 Digital Infrastructures

COMP1321 Digital Infrastructures. Richard Henson November 2013. Week 7: Peripherals, Storage & Device Communication. Objectives: explain the organisation of data on a hard disk explain the difference in communication involving peripheral and intelligent devices

Download Presentation

COMP1321 Digital Infrastructures

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. COMP1321Digital Infrastructures Richard Henson November2013

  2. Week 7: Peripherals, Storage & Device Communication • Objectives: • explain the organisation of data on a hard disk • explain the difference in communication involving peripheral and intelligent devices • produce a simple algorithm describing point-point communication between intelligent devices

  3. Hard Disk Cataloguing and Indexing • Catalogue essential for saving and locating files on the disk • Disk divided into cylinders • sectors through all the platter surfaces (typically four) • disks have very many cylinders • When data saved, filename (label) starting address (location) essential

  4. Addressing and the Hard Disk • I cylinders as addresses for file data..

  5. Linked Lists and Files on Disk • Pointers provide next (cylinder) address on disk

  6. What is a “Peripheral” anyway? • Digital device • Generally not “intelligent” • Controlled from the CPU, via connection through motherboard • CPU needs unique instructions for each peripheral… • system software known a “driver”

  7. Control of Peripherals • Input (e.g. keyboard): • communication between motherboard and peripheral to establish • electrical connection • logical connection • Communication channel opened… • operating system call (e.g. INT 21) • data received into RAM… • flow rate & processing controlled via CPU • data passed on the requesting application CPU Motherboard keyboard

  8. Control of Peripherals • Output (e.g. screen): • communication between motherboard and peripheral to establish • electrical connection • logical connection • communication channel opened… • data sent into RAM… • operating system call (e.g. INT 21) • flow rate & processing controlled via CPU • data passed from RAM to remote peripheral CPU Motherboard screen

  9. Intelligent Devices • Can process data independently • communication channel with CPU more sophisticated • control software at each end of the communication • Dumb peripherals controlled from CPU • dependent on driver software installed on the computer…

  10. The principle of “Handshaking” • First communication process: • makes sure devices in electrical & logical contact • If so… establishes an agreed common set of rules (protocol) for sending and receiving data

  11. Why “handshaking”? • Replicates what humans do… • equivalent of two multi-lingual people walking up to one another, greeting each other, and deciding which language they will use to communicate: • English, French, Chinese? • Smoke Signals, Semaphores, Morse Code?

  12. Establishing a point-point Communications Channel $%^&£(? eh? • For any two computers to communicate digitally, they need to “understand” each other’s signals

  13. Establishing a point-point Communications Channel $%^&£(? eh? • Need a common “language”: • i.e. a programmed set of rules and procedures • Incorporated into software • known as a “communications “protocol”

  14. Establishing a point-point Communications Channel $%^&£(? eh? • Each computer needs a copy of the protocol rules: • to send valid data • to understand what the other computer is sending

  15. What is needed for a Communications Protocol? • All the instructions for the CPU to organize the sending/receiving of data… • and ways to manage that data even when in electronic format (i.e. 1= higher voltage, 0= lower voltage) • At communication endpoints… • synchronizing speed of sending/receiving • error checking • data compression

  16. Essentials for Communications Protocols • Need to agree a standard set of codes • First standard goes back to early 1960s • set of control codes built into ASCII characters • Next • the rules and procedures needed for effective and reliable communication between devices need to be converted into a computer language - something a CPU can understand… • The ASCII control codes then need to be incorporated into a computer program written in that language, which can be shared between the sender and receiver

  17. Point-Point Protocol Protocol for Comms mgt Protocol for Comms mgt Device A Electrical signals Device B conversions conversions

  18. Development of Communication Protocols • Problem… • Different manufacturers have historically produced their own unique protocols, • serve their own specific purposes • some common ground… • mostly used ASCII for control codes • IBM used a system called EBCDIC (!) • Gradually, attempts at universal protocols started to emerge… • e.g. the people creating the Internet produced TCP/IP in 1972

  19. A simple point-to-point communications protocol • Basis of a very simple algorithm that could be translated into a program for managing communications between individual devices • ASCII control codes (0-31) for communications between devices • ASCII character codes (32-127) to carry data • Data sent in “blocks” or “packets” • Assumes half duplex transmission • Such a program would normally be written in “C”

  20. Point-to-point algorithm - Stage 1 • Purpose: Sender needs to make sure that the receiver is actually “there” (i.e. switched on and working properly) • Action: sends a small amount of “standard” data - usually one byte, known in ASCII terms as SYN • ASCII code 22 (binary 00010110)

  21. Point-to-point - Stage 2 • Purpose: Receiver needs (if it can!) to reply to the senders ACK signal • Action • EITHER replies with a positive acknowledgment ACK, “I’m ready!” ASCII code 6 (binary 00000110) • OR replies with a negative acknowledgement NAK, “Not ready!” ASCII code 21 (binary 00010101)

  22. Point-to-Point: Stage 3 • Purpose • the sender reacts to the reply (or not) from the receiver by either closing down or sending a “preamble” • Action • IF the sender EITHER does not receive acknowledgement • OR receives a NAK response… • THEN it closes down the communication, with an error message • ELSE, itsends out a further set of data, known as a preamble…

  23. Point-to-point - Stage 4 • Purpose • synchronise protocols • Action: the receiver: • 1. processes the preamble (containing data telling the receiver what comms protocol, error control, flow rate, encryption method, etc. the sender would like to use) • 2. passes a short message back to the sender indicating whether it will be able to understand and handle such data

  24. Point-to-point – Stage 5 • Purpose: establish or close down the communications channel • Action: If the response received by the sender is negative (ie can’t handle the data): • THEN the communication is closed down with an error message (e.g. NAK) • ELSE, a communications “channel” is established

  25. Point-to-point - Stage 6 • Purpose: sending data & error checking info in blocks/packets according to the format agreed in the preamble • it would take much too long to send and receive data one byte at a time! • Action: • Sender sends one block/packet followed by error checking info

  26. Point-to-point - Stage 7 • Purpose: using results of processing the error checking info to request next packet or resending of same packet • Action: • Receiver compares error checking info with that already obtained in the block/packet • if an error is detected request to resend block/packet • else request to send NEXT packet

  27. Point-to-point - Stage 8 • Purpose: sending the rest of data… • Action: process or sending/resending continues (loops…) until all the data is satisfactorily received • Note: a poor communications environment will result in a lot of errors/resending • which will slow down communications… • BUT the data will still get through…

  28. Point-to-point - Stage 9 • Purpose: close down the communications channel • Action: • when no further data is available to send and the final packet/block has been acknowledged… • the sender sends an EOT (end of transmission)byte ASCII 4 binary 00000010 • this terminates the communications channel!

  29. Techniques for Detecting/Managing Errors • Many error detection and correcting techniques are available • process normally involves • sending of the main block • Sending of further information • calculation based on recreating the additional information from the main block • comparison of the two • choice must be appropriate for speed, cabling, protocol type, etc

  30. Flow Control • A feedback mechanism between sender and receiver so that the receiver can inform the sender if it is not keeping up • Usually achieved by “synchronization” bits or byte (ASCII SYN) • a pause in the communication can occur if necessary • e.g. if buffer becomes full • gives time for buffer to empty… • sender will not send any more data until it gets the “all clear” from the receiver

  31. Further point-point issues • Programming code could be added to the basic algorithm which would enable: • a series of protocols to be tested during handshaking • packets to travel through analogue as well as digital media • packets to be converted from one format to another before/after transmission • extra processing to check for virus footprints

  32. So what about networks? • All this is needed just to send data from one computer to another, without any routing! • If the computer is on a network, the following additional factors immediately need to be taken into consideration: • naming of computers • addressing (if on a different network or segment)

  33. More factors for a network protocol? • Logging on/off and access rights • Packet switching or circuit switching • Navigation: • type of routing algorithm if circuit switching • creation of packets if packet switching • mopping up lost packets • Packet reassembling at destination… • CONCLUSION: A NETWORK PROTOCOL IS A COMPLEX PIECE OF PROGRAMMING

More Related