Giter Site home page Giter Site logo

course_material-systems_programming's Introduction

CS_3560

Intro to systems programming


CHAPTER 1: C Programming

Key differences with C++ Command-line Compiling Basic I/O: Input, Output Dynamic Memory Allocation


CHAPTER 2: USERS, FILES, AND THE MANUAL

System Calls and Functions:

  • open, read, write, creat, lseek, close
  • perror

Commands

  • man, who, cp

Ideas and Skills

  • The role and use of on-line documentation
  • The Unix file interface: open, read, write, lseek, close
  • Reading, creating, and writing files
  • File descriptors
  • Buffering: user level and kernel level
  • Kernel mode, user mode, and the cost of system calls
  • How Unix represents time, how to format Unix time
  • Using the utmp file to find list of current users
  • Detecting and reporting errors in system calls

CHAPTER 3: DIRECTORIES AND FILE PROPERTIES

System Calls and Functions:

  • opendir, readdir, closedir, seekdir
  • stat
  • chmod, chown, utime
  • rename

Commands

  • ls

Ideas and Skills

  • A directory is a list of files
  • How to read a directory
  • Types of files and how to determine their type
  • Properties of files and how to determine properties of a file
  • Bit sets and bit masks
  • User and group ID numbers and the passwd database

CHAPTER 4: FOCUS ON FILE SYSTEMS

System Calls and Functions

  • mkdir, rmdir, chdir
  • link, unlink, rename symlink

Commands

  • pwd

Ideas and Skills

  • User's view of the Unix file system tree
  • Internal structure of Unix file system: inodes and data blocks
  • How directories are connected
  • Hard links, symbolic links: ideas and system calls

CHAPTER 5: Connection Control, Studying stty

Ideas and Skills

  • Similarities between files and devices
  • Differences between files and devices
  • Attributes of Connections
  • Race Conditions and atomic operations
  • Controlling device drivers
  • Streams

System Calls and Functions

  • fcntl
  • ioctl
  • tcsetattr
  • tcgetattr

CHAPTER 6 - Programming for Humans: Terminal Control and Signals

Ideas and Skills

  • Software tools vs. user programs
  • Reading and changing settings of the terminal driver
  • Modes of the terminal driver
  • Nonblocking input
  • Timeouts on user input
  • Introduction to signals: How Ctrl-C works

System Calls

  • fcntl
  • signal

CHAPTER 8 - Processes and Programs: Studying sh

Ideas and Skills

  • What a Unix shell does
  • The Unix model of a process
  • How to run a program
  • How to create a process
  • How parent and child processes communicate

System Calls, Functions, Commands

  • fork
  • exec
  • wait
  • exit
  • sh
  • ps

CHAPTER 10 - I/O Redirection and Pipes

Ideas and Skills

  • I/O Redirection: What and why?
  • Definitions of standard input, output, and error.
  • Redirecting standard I/O to files.
  • Using for to redirect I/O for other programs.
  • Pipes
  • Using fork with pipes.

System Calls and Functions

  • dup, dup2
  • pipe

course_material-systems_programming's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.