Course detail
Operating Sytems and Networks
FEKT-MOSSAcad. year: 2012/2013
Operating system (OS), base functions of OS, demands on OS, kernel, types of kernels, process, process scheduling, UNIX process, signals, interprocess communication, file system, shells, threads, interthread synchronisation, network protocols (Ethernet, WiFi, TCP/IPv4, routing, IPv6, DNS, DHCP, IPv6, HTTP, SMTP), utilisation of unix sockets for network communication.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Learning outcomes of the course unit
Prerequisites
Co-requisites
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Course curriculum
2. Processes, process states, PCB. Scheduling, process queues. Process creating in UNIX/Linux - system calls fork() and exec(). Process termination. Process identifiers.
3. Waiying for process termination - wait(), waitpid(). UNIX process hierarchy. Signals: signals concept, signal generating, signal sending, signal delivering, signal handling, important signals. Jobs control.
4. Disks and disk arrays. File systems, VFS. UNIX file systems. Type of UNIX files. Access rights, ACL.. File and directory management functions.
5. Input and output redirection. Interprocess communication. Threads, threads implementation.
6.Threads creation, thread joining. Threads synchronisation ( mutex, semaphor, conditional variable)
7. Computer network, ISO and TCP/IP model. Physical layer and link layer. Ethernet, switches. IPv4 protocol: function, characteristic. IPv4 datagram.
8. IPv4 adresy, Internet administration organizations. Ports. UDP protocol. TCP protocol.
9. Routing, routing tables, base routing algorithm. ICMP protocol.
10. BSD socket interface. TCP client, UDP client, TCP server and UDP server. Iterative and concurrent servers.
11. IPv6 protocol. IPv6 datagram, headers, IPv6 addresses, IPv6 address types. Interface identifiers. Neighbour discovery. Aoutomatic configuration, DHCP and DHCPv6 protocol.
12. DNS: domains, zones, questions, resolvers, DNS servers, RR set, DNS records. DNSSEC. HTTP protocol: versions, GET, PUT, HEAD methods, headers, cache..
13. Email: message format, protocol SMTP, POP3, IMAP4.
Work placements
Aims
Specification of controlled education, way of implementation and compensation for absences
Recommended optional programme components
Prerequisites and corequisites
Basic literature
Recommended reading
Classification of course in study plans
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
2.Shell: variables, special shell variables, operators && a ||, conditional statements, expr, test, case statement, cycles, functions, interactive scripts (read and switch statements).
3.File systems, types of file systems, inode, directory, hard and soft links. Access rights. File and directory management functions.
4.Processes - process context, process states, process enviroment, enviroment variables, process creating (function fork, exec), finishing of process (function exit, wait, wait3), init process.
5.File sherring among processes. Input and output redirection. Interprosses communication and synchronisation: pipes, FIFO, shared memory.
6.Threads, threads synchronisation ( mutex, semaphor, conditional variable)
7.Block and characker devices, device drivers, speciální soubory, programming of Linux device drivers.
8.Ethernet, IEEE 802.11 (WiFi), TCP/IP, packet routing.
9.ICMP, DHCP, DNS, SNMP.
10.SMTP, POP3, IMAP4, LDAP. Secure communication by SSL, SSH.
11.Sockets. Network communication by sockets. Client applications. Server applications.
12.Deamos (cron, at, xinetd, ...), time synchronisation, UNIX system starting, initialisation files.
13.Real-time operating systems - base principles specification. examples of RTOS (Windows CE and RT-Linux).
Exercise in computer lab
Teacher / Lecturer
Syllabus
2.Regular expressios, grep, find, sed, awk. Pipes
3.Interactive shell programs.
4.Programs gcc, gdb, gmake. File and directory service utilisation. Temporary files creation.
5.Process enviroment. Process creations, getting base informatios about process. Process finishing (functions wait, wait3, wait4, exit, abort).
6.Input and output redirection (functions dup, dup2), pipe (function pipe, popen, pclose).
7.Fifo, signals, shered memory.
8.Threads-creation, joining, thread cancelating, thread specific date.
9.Thread synchronisation bz mutex and semaphors.
10.Thread synchronisation by conditional variable.
11.Programming of client application with socket utilisation.
12.Programming of server application with socket utilisation.
12.Programming of server application with socket utilisation - finishing.
13.Final test.