* computer / internet basics - data: bits and bytes, kb, Mb, Gb - where they live: memory, files, directories, disks, networks - hardware: cpu (x86, PowerPC,...) , I/O (CD,DVD,LCD,speakers,mic,...) - OS ( unix, Windows, Mac-unix ) - applications : commercial vs open source, command line vs GUI - user top level : shell vs desktop - ascii text : simplest file type, .txt extension typically (but even there end of line is different on unix/mac/windows) - other formats: - how many bytes? (exercise: estimate) * 10 page paper * 100 page manual * college library * computer screen image * photographic image * 1 minute of sound (quality?) * 1 minute of video - bandwidth = bits per second : kbps, Mbps - internet = "inter" - "network" * how does it work? 1. various networks (ethernet, dial-in, wireless, carrier pigeon, ...) 2. TCP/IP is an address and connection protocol that runs inside any of these (even carrier pigeon) 3. Works by (a) breaking data into packets, (b) giving each packet an IP destination address, (c) sending it via the network destination. The IP address is "inside" the network mechanism. * example: sending a novel page by page, each sent to Bob, one page by US mail, one by fax, one via a friend, ... * The US mail service does this, too: think about a crate of letters, all headed for Hawaii, on an airplane. The crate has a different address mechanism, the addresses letter is inside, the message inside that, ... === got to here in class on Friday === - Today's internet is mostly a "client/server" system : client applications request data from server applications. The server runs continuously and waits for requests. The client (Netscape, Explorer) is more transient. - Part of TCP/IP is the notion of a "port" - a numbered address on a host that a particular program is waiting to communicate on. Different port numbers run different services, each with their own little language. These "languages" are called "protocols". - Example: telnet to port 80 on akbar and type some HTTP: GET / - other services: ssh, sftp, http, pop3, dns, irc, samba, ldap (there are hundreds) - user accounts: Some services require that you supply proof (such as username, password) that you are who you say you are. Sometimes this information is encrypted so no one else between here and there can see it. - Practice time. For each of the following tasks, how many ways can you do it on how many OS's with how many applications and/or command line invocations? Which ones do you need an account (username/password) to do? * Which computers do you have a username/password on? What services does that account provide? * create a .txt file. * create a folder. * examine the folder permissions. * modify the folder permissions. * examine file on another computer. * download a file from another computer to yours. * upload a file from your computer to another. * create a folder on another computer. * change the permissions of a file on another computer. - Sometimes it may be hard to tell if a file system is local or network. Example: "mount home directory" on akbar. (Can be done on Windows or Mac.) - Some software that may help Windows: (You may want to turn on "show file extensions" in the View preferences, I think.) PuTTY - http://www.chiark.greenend.org.uk/~sgtatham/putty/ Mozilla - http://www.mozilla.org/ Notepad Mac: command line "ssh" Mozilla TextEdit