Winter 25, CSCI 347, Test 2 Review
Test date: Friday February 21, 2025
Quick Review: Parts of chapters 4, 5, 6, 7, 8(part), 15(part),
and your microshell.
This review is produced to help you study. This is
not a guarantee that all topics are listed in the
following topic review list.
Topic Review:
- Files and Directories (Chapter 4)
- partitions
- UNIX file system, disk partitions
- file types
- Directory entries: (name, inode-number)
- link
- inode: data stored and access to file data via direct and indirect blocks
- Ownership of a file
- stat, fstat, lstat
- permissions, user/group/other
- Set UID, Set GID bits
- umask
- access
- chmod, fchmod
- chown, fchown
- link (hard links)
- unlink
- rename
- symbolic links
- utimes
- mkdir
- rmdir
- chdir
- fchdir
- fsync
- opendir, closedir, readdir, telldir, seekdir, rewinddir, dirfd, dirent
- Standard I/O Library (Chapter 5)
- stdin, stdout, stderr
- buffering, full, line, unbuffered
- fopen, freopen, fdopen
- setbuf, setvbuf
- fflush
- fclose
- fgetc, ferror, feof, clearerr, ungetc
- fgets, fputs
- binary fread, fwrite
- ftell, fseek
- fgetpos, fsetpos
- *printf, *scanf
- fileno
- System Information (Chapter 6)
- /etc/passwd, /etc/group
- getpwuid, getpwnam, getpwent, setpwent, endpwent
- getgrgid, getgrnam, getgrent, setgrent, endgrent
- Supplementary Group IDs
- /etc, information stored there
- uname(1), uname(3)
- time related functions (time, ctime, strftime, gettimeofday, ...)
- time zone issues
- Environment of UNIX process (Chapter 7, on video)
- main, argc, argv
- exit, _exit
- atexit
- environment, getenv, putenv, setenv, unsetenv
- Memory layout, malloc, alloca, free, realloc, calloc
- automatic (local) variable misuse
- setjmp, longjmp
- resource limits
- Process Control (Chapter 8)
- pid, gid
- fork, exit
- wait(2) system call and WIFEXITED(), WEXITSTATUS() macros
- waitpid(2) system call
- wait, waitpid, wait3, wait4
- zombie processes, how to kill them
- Pipes (Chapter 15)
- Interprocess communication with pipes ...
- Shell pipeline
- Filter abstraction
- Kernel pipe, pipe(2)
- Read end, write end
- Termination: EOF on read, SIGPIPE on write
- Conditions for termination
- Outlines of one way communcation: child to parent, parent to child
- popen(3), pclose(3)
- micro shell
- concepts
- exit values, getting exit values
- expansion, environment variables, builtin commands
- shell scripts, script arguments
Last modified: May 13, 2024