ebook img

D is for Digital: What a Well-Informed Person Should Know about Computers and Communications PDF

318 Pages·2012·3.13 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview D is for Digital: What a Well-Informed Person Should Know about Computers and Communications

D is for Digital What a well-informed person should know about computers and communications Brian W. Kernighan Paper edition: ISBN-13: 978-1463733896, ISBN-10: 1463733895 Copyright © 2012 by Brian W. Kernighan ALL RIGHTS RESERVED. No part of this book may be reproduced or transmitted in any form or by any means, electronic, optical or mechanical, including photocopying or recording, or by any information storage and retrieval system, without express written permission from the copyright owner. 1202051148 Also by Brian Kernighan The Elements of Programming Style (with P. J. Plauger) Software Tools (with P. J. Plauger) Software Tools in Pascal (with P. J. Plauger) The C Programming Language (with D. M. Ritchie) The AWK Programming Language (with A. V. Aho and P. J. Weinberger) The Unix Programming Environment (with R. Pike) AMPL: A Modeling Language for Mathematical Programming (with R. Fourer and D. M. Gay) The Practice of Programming (with R. Pike) Hello, World! Opinion Columns from The Daily Princetonian For Meg Contents Preface Introduction Part I: Hardware Chapter 1: What's in a Computer? 1.1 Logical Construction 1.1.1 CPU 1.1.2 RAM 1.1.3 Disks and secondary storage 1.1.4 Et cetera 1.2 Physical Construction 1.3 Moore's Law Chapter 2: Bits, Bytes, and Representation of Information 2.1 Analog versus Digital 2.2 Analog-Digital Conversion 2.3 Bits, Bytes, and Binary 2.3.1 Bits 2.3.2 Powers of two and powers of ten 2.3.3 Binary numbers 2.3.4 Bytes 2.4 Summary Chapter 3: Inside the CPU 3.1 The Toy Computer 3.2 Real CPUs 3.3 Caching 3.4 Other Kinds of Computers Wrapup on Hardware Part II: Software Chapter 4: Algorithms 4.1 Linear Algorithms 4.2 Binary Search 4.3 Sorting 4.4 Hard Problems and Complexity 4.5 Summary Chapter 5: Programming and Programming Languages 5.1 Assembly Language 5.2 High-Level Languages 5.3 Software Development 5.3.1 Libraries, interfaces, and development kits 5.3.2 Bugs 5.4 Software as Property 5.4.1 Intellectual property 5.4.2 Standards 5.4.3 Open source Chapter 6: Software Systems 6.1 Operating Systems 6.2 How an Operating System Works 6.2.1 System calls 6.2.2 Device drivers 6.3 Other Operating Systems 6.4 File Systems 6.4.1 Disk file systems 6.4.2 Removing files 6.4.3 Other file systems 6.5 Applications 6.6 Layers of Software Chapter 7: Learning to Program 7.1 Programming Language Concepts 7.2 A First JavaScript Example 7.3 A Second JavaScript Example 7.4 Loops 7.5 Conditionals 7.6 Libraries and Interfaces 7.7 How JavaScript Works Wrapup on Software Part III: Communications Chapter 8: Networking 8.1 Telephones and Modems 8.2 Cable and DSL 8.3 Local Area Networks and Ethernet 8.4 Wireless 8.5 Cell Phones 8.6 Summary Chapter 9: The Internet 9.1 An Internet Overview 9.2 Domain Names and Addresses 9.2.1 Domain Name System 9.2.2 IP addresses 9.2.3 Root servers 9.2.4 Registering your own domain 9.3 Routing 9.4 Protocols 9.4.1 IP, the Internet Protocol 9.4.2 TCP, the Transmission Control Protocol 9.5 Higher-level Protocols 9.5.1 FTP: File Transfer Protocol 9.5.2 Telnet: remote login 9.5.3 SMTP: Simple Mail Transfer Protocol 9.5.4 File sharing and peer-to-peer protocols 9.5.5 An aside on copyright 9.5.6 Summary of high-level protocols 9.6 Bandwidth 9.7 Compression 9.8 Error Detection and Correction 9.9 Summary Chapter 10: The World Wide Web 10.1 How the Web Works 10.2 HTML 10.3 Forms 10.4 Cookies 10.5 Active Content in Web Pages 10.6 Active Content Elsewhere 10.7 Viruses and Worms 10.8 Web Security 10.8.1 Attacks on clients 10.8.2 Attacks on servers 10.8.3 Attacks on information in transit 10.8.4 Defending yourself 10.9 Cryptography 10.9.1 Secret-key cryptography 10.9.2 Public-key cryptography 10.10 Summary

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.