College of Engineering & CS
Dayton, Ohio 45435-0001

CEG 233: Linux and Windows

Syllabus

Prabhaker Mateti

pmateti@wright.edu  (937) 775 5114
   

Catalog Description: Introduction to Linux and Windows systems.  GUI and Windowing Systems.  Files and Directories. Ownership and Sharing. Programs and Processes.  System calls, Libraries.  Loading.  Dynamic linking. Command Line Shells.  Scripting languages.   Regular expressions. Clients and Servers.  Web browser clients and servers.  Secure shell, sftp.  SSL/TSL.  HTTPS. System Administration.  4 credit hours. 3 hours lectures, 2 hours labs. Prerequisites: CS 240 or CS 220 or equivalent.

Overview

This is a freshman-level 4 credit hour course conducted in a 10-week term. Its goal is to develop in the minds of students an effective operational model of computer systems running either Linux or Windows.  This course is lab-oriented.

Text Books

  1. Mark G. Sobell, "A Practical Guide to Linux(R) Commands, Editors, and Shell Programming", Prentice Hall,
    ISBN-10: 0131478230, ISBN-13: 978-0131478237, 2005.
  2. Web site: http://www.cs.wright.edu/~pmateti/Courses/233/Top/index.html

Prerequisites

Its prerequisites are general exposure to PCs, and MS Windows which is so common that we do not list it as official prerequisites.  It does not assume prior exposure to Unix/Linux. Familiarity with a programming language (such as C++, or Java) is expected. It is assumed that you are comfortable with control structures such as loops and if-statements. 

Content

The topics are grouped based on coherence.  Even though there are nine items below, worth one week each, they are not to be taken literally as weekly schedules.

Unix/Linux command names are well-known, whereas their Windows-equivalents are often hidden behind a GUI; so, only Linux command names are shown, but the equivalent Windows operations are also included.

  1. GUI and Windowing Systems.  Mouse clicks etc. as events.  Coupling of events to actions.  Focus.  Cut and paste models.  X11, KDE, Gnome, xterm.  Fonts, bit maps, vector drawings. Tiled and overlapped windows.
  2. Files and directories. File names and extensions. Operations on files and directories.   Compression. File systems: ISO9660, ext2, vfat, ntfs.  Fragmentation.  Sequential and random access.  Large streaming files.   rwx-permissions.  Ownership and sharing.  Access control lists.  Alternate data streams.  Hard and soft links. Commands: ls,  ln, cp, mv, rm, cat, chmod, chown, umask, dd, gzip, tar, file, wc, sort, uniq.
  3. Programs and Processes.  System calls, libraries.  Virtual memory. Swap space.   Loading.  Dynamic linking. Unix/Linux ELF, COFF and a.out.  Windows COM, EXE.  Signals.    Single CPU Multi-tasking, multiple CPUs and SMP.  Commands: kill, ps, top, nice, bg, fg, ldd, size, task manager.
  4. Command Line Shells.  Scripting languages. Linux bash.  Windows cmd.  File system browsers.  Cygwin.
  5. Utilities.  Regular expressions, Version control.  Commands: grep, diff, patch, make, find, od,  svn.
  6. Networking.  Host names, IP addresses.  Protocols.  TCP and UDP. DNS. ports.  URLs. Sockets.  Clients and servers.  Web browsers and clients.  Secure shell, sftp.  SSL/TSL.  HTTPS.  NFS and Samba. Commands: ssh, sftp, ping, traceroute, wget.
  7. Users.  Classes of users and their privileges.  Passwords, MD5. Power users, Administrators, etc.  SUID programs.  Commands: passwd, newusers, userdel, sudo, su.
  8. System Administration.  File system integrity, virus scanning, patch management.  Archives.  System restore.  Windows Registry.  Booting of OS.  Power on self test.  BIOS.  Boot loaders:  NTLDR, GRUB.  Process init.  login.  Suspend v. hibernation. Linux distributions:  Debian, RedHat, etc.  Windows XP and Vista.  Open source movement.  Commands and files: df, du, mount, umount, /etc/passwd, /etc/shadow, /etc/fstab, /etc/inittab, init.d scripts.
  9. Recap. Operating Systems?  Kernels? Systems programs? Applications? Layered view.  Components: Processes, Virtual Memory, File Systems, Networking, Events, and Device Drivers.  Services: Resource management, protection, multi-programming, multi-tasking. 

Grading

Two on-line exams worth 25% and 35%.  Eight labs each worth 5% each.

Lab Oriented

This course is lab-oriented.  Expected number of labs: 8; about one per week.  Lab work is scheduled for 100 minutes in OSIS lab (429 Russ) with PCs that can dual boot Linux and Windows.

 
Copyright © 2009 pmateti@wright.edu