work-site/en/os-upec.org
2018-09-30 21:40:27 +02:00

5.5 KiB

Introduction to Operating Systems and Networks

/scolobb/work-site/media/commit/5bba73c6bf1ec455e6165e50fac8e7744940b168/content/imgs/fr.png /scolobb/work-site/media/commit/5bba73c6bf1ec455e6165e50fac8e7744940b168/content/imgs/home.png

The course consists of two parts dealing with operating systems and networks. The goal of the course is to offer an overview of these topics. The course is designed for 21 two-hour classes, including at least 4 laboratory assignments. A written test may be planned after the first part of the course (operating systems) and another one at the end.

The course and the slides are in French.

/scolobb/work-site/media/commit/5bba73c6bf1ec455e6165e50fac8e7744940b168/content/imgs/ccby.png

The materials of this course are distributed under the Creative Commons Attribution Alone licence.


CM 1. Operating systems, networks, virtualisation

This part introduces basic ideas used in the domains discussed in the course. The slides are available here.

CM 2. Linux: directory structure and command line

This part lists the directories from Filesystem Hierarchy Standard and explains them. Some basic file management commands are then given and explained. The slides are available here.

TP 1. Lab assignment 1: the command line

The goal of this assignment is to introduce students to the Linux command line and also to the usual ways of finding information about available commands and applications. The text of the assignment is here.

CM 3. Rights, links, transformations, search

This part deals with three subjects which are very important in managing a UNIX-type system: file access rights, symlinks and hardlinks, and transformations. We will a "transformation" a command that works well in command chains built using pipes. This part of the course lists a couple useful transformations (e.g., head, cut, xargs) and finishes by explaining two very often used search commands: grep and find. The slides are available here.

Directory permissions work a bit differently from permissions for regular files. This section does not cover this difference, but interested students are invited to take a look at this article.

TP 2. Lab assignment 2: the command line 2

This assignment suggests a number of advanced use cases of the command line and has the goal to help students consolidate the practical skills in redirection of streams, pipes, and usage of transformations. The text of the assignment can be found here.

CM 4. Shell scripts

This section provides a quick overview of the shell scripting language as a full-fledged programming language. Some basic elements such as variables, arrays, control structures, and functions are covered. Several situations are covered in which the code is evaluated in unintuitive ways. The slides are here.

TP 3. Lab assignment 3: shell scripts

This assignment considers several typical server administration tasks, like system monitoring, backup, or local messaging, and proposes to automate them. The students are also invited to reimplement a number of basic tools, including a simplified version of xargs. The text of the assignment can be found here.


CM 5. The OSI model

This section discusses the OSI model: the detailed formal specification of the organisation of the network stack. An overview of every layer is provided; the network and the transported layers are presented in some more detail. A short list of well-known network protocols concludes the presentation. The slides are available here.

CM 6. Network commands

This section briefly introduces some basic concepts behind the Domain Name System, and particularly the hierarchy of domain names and DNS servers. Several useful network commands are then listed, including ifconfig and netcat. The slides are available here.

TP 4. Lab assignment 4: network commands

This lab assignment proposes a couple scenarios in which the network commands shown in the preceding section of the course are applied. This assignment focusses in particular upon scp, wget, and nc. The text of the assignment can be found here.


Course project: a basic network chat

This course project proposes to apply the skills acquired in basic system administration and networking to implement a primitive text chatting system. The text of the assignment can be downloaded here.