Front cover image for Understanding the digital world : what you need to know about computers, the Internet, privacy, and security

Understanding the digital world : what you need to know about computers, the Internet, privacy, and security

Brian W. Kernighan (Author)
The basics of how computer hardware, software, and systems work, and the risks they create for our privacy and security Computers are everywhere. Some of them are highly visible, in laptops, tablets, cell phones, and smart watches. But most are invisible, like those in appliances, cars, medical equipment, transportation systems, power grids, and weapons. We never see the myriad computers that quietly collect, share, and sometimes leak vast amounts of personal data about us. Through computers, governments and companies increasingly monitor what we do. Social networks and advertisers know far more about us than we should be comfortable with, using information we freely give them. Criminals have all-too-easy access to our data. Do we truly understand the power of computers in our world? Understanding the Digital World explains how computer hardware, software, networks, and systems work. Topics include how computers are built and how they compute; what programming is and why it is difficult; how the Internet and the web operate; and how all of these affect our security, privacy, property, and other important social, political, and economic issues. This book also touches on fundamental ideas from computer science and some of the inherent limitations of computers. It includes numerous color illustrations, notes on sources for further exploration, and a glossary to explain technical terms and buzzwords. Understanding the Digital World is a must-read for all who want to know more about computers and communications. It explains, precisely and carefully, not only how they operate but also how they influence our daily lives, in terms anyone can understand, no matter what their experience and knowledge of technology
eBook, English, 2017
Princeton University Press, Princeton, 2017
Electronic books
1 online resource (xv, 238 pages) : illustrations (some color)
9781400884803, 1400884802
963608673
Preface xi Introduction 1 Part I: Hardware 7 1. What's in a Computer? 11 1.1 Logical Construction 13 1.1.1 CPU 13 1.1.2 RAM 14 1.1.3 Disks and other secondary storage 15 1.1.4 Et cetera 17 1.2 Physical Construction 17 1.3 Moore's Law 21 1.4 Summary 22 2. Bits, Bytes, and Representation of Information 23 2.1 Analog versus Digital 23 2.2 Analog-Digital Conversion 25 2.3 Bits, Bytes, and Binary 30 2.3.1 Bits 30 2.3.2 Powers of two and powers of ten 31 2.3.3 Binary numbers 32 2.3.4 Bytes 34 2.4 Summary 36 3. Inside the CPU 37 3.1 The Toy Computer 38 3.1.1 The first Toy program 38 3.1.2 The second Toy program 40 3.1.3 Branch instructions 41 3.1.4 Representation in RAM 43 3.2 Real CPUs 43 3.3 Caching 46 3.4 Other Kinds of Computers 47 3.5 Summary 49 Wrapup on Hardware 51 Part II: Software 53 4. Algorithms 55 4.1 Linear Algorithms 56 4.2 Binary Search 58 4.3 Sorting 59 4.4 Hard Problems and Complexity 63 4.5 Summary 65 5. Programming and Programming Languages 67 5.1 Assembly Language 68 5.2 High-Level Languages 69 5.3 Software Development 75 5.3.1 Libraries, interfaces, and development kits 76 5.3.2 Bugs 77 5.4 Intellectual Property 79 5.4.1 Trade secret 80 5.4.2 Copyright 80 5.4.3 Patents 81 5.4.4 Licenses 82 5.5 Standards 84 5.6 Open Source 84 5.7 Summary 86 6. Software Systems 87 6.1 Operating Systems 88 6.2 How an Operating System Works 92 6.2.1 System calls 93 6.2.2 Device drivers 93 6.3 Other Operating Systems 94 6.4 File Systems 95 6.4.1 Disk file systems 96 6.4.2 Removing files 98 6.4.3 Other file systems 99 6.5 Applications 100 6.6 Layers of Software 102 6.7 Summary 104 7. Learning to Program 105 7.1 Programming Language Concepts 106 7.2 A First JavaScript Example 107 7.3 A Second JavaScript Example 107 7.4 Loops 110 7.5 Conditionals 111 7.6 Libraries and Interfaces 112 7.7 How JavaScript Works 114 7.8 Summary 114 Wrapup on Software 117 Part III: Communications 119 8. Networks 125 8.1 Telephones and Modems 126 8.2 Cable and DSL 126 8.3 Local Area Networks and Ethernet 128 8.4 Wireless 130 8.5 Cell Phones 131 8.6 Bandwidth 135 8.7 Compression 135 8.8 Error Detection and Correction 137 8.9 Summary 139 9. The Internet 141 9.1 An Internet Overview 142 9.2 Domain Names and Addresses 145 9.2.1 Domain Name System 145 9.2.2 IP addresses 146 9.2.3 Root servers 147 9.2.4 Registering your own domain 148 9.3 Routing 148 9.4 TCP/IP Protocols 150 9.4.1 IP, the Internet Protocol 151 9.4.2 TCP, the Transmission Control Protocol 152 9.5 Higher-Level Protocols 153 9.5.1 Telnet and SSH: remote login 154 9.5.2 SMTP: Simple Mail Transfer Protocol 154 9.5.3 File sharing and peer-to-peer protocols 156 9.6 Copyright on the Internet 157 9.7 The Internet of Things 159 9.8 Summary 159 10. The World Wide Web 163 10.1 How the Web Works 164 10.2 HTML 165 10.3 Cookies 167 10.4 Active Content in Web Pages 168 10.5 Active Content Elsewhere 170 10.6 Viruses, Worms and Trojan Horses 171 10.7 Web Security 173 10.7.1 Attacks on clients 174 10.7.2 Attacks on servers 177 10.7.3 Attacks on information in transit 179 10.8 Defending Yourself 179 10.9 Summary 181 11. Data and Information 183 11.1 Search 184 11.2 Tracking 188 11.3 Social Networks 193 11.4 Data Mining and Aggregation 195 11.5 Cloud Computing 197 11.6 Summary 202 12. Privacy and Security 203 12.1 Cryptography 204 12.1.1 Secret-key cryptography 205 12.1.2 Public-key cryptography 206 12.2 Anonymity 210 12.2.1 Tor and the Tor Browser 211 12.2.2 Bitcoin 213 12.3 Summary 215 13. Wrapping Up 217 Notes 221 Glossary 227 Index 233
Revised edition of: D is for digital. 2011
In English