Software for communications systems

Course description

Operating systems. Processes, threads, scheduling. Input-output devices and drivers. Data storage, files, file systems. Inter-process communication and synchronization. Memory and memory management. Databases and transactions. Distributed systems. Virtualization and cloud computing. Software development approaches.

Course is carried out on study programme

Elektrotehnika 2. stopnja

Objectives and competences

The objective of the course is to provide an overview of the basic principles and concepts for independent design and development of software in communication systems. The course incudes the foundations of modern operating systems, distributed systems, databases, virtualization and software design.

Learning and teaching methods

Lectures for theoretical aspects, laboratory exercises and team work for real-case scenarios and problem solving through project work. Part of the pedagogical process will be carried out with the help of ICT technologies and the possiblities they offer.. Study visits and invited lecturers.

Intended learning outcomes

After successful completion of the course, students should be able to:

– describe the basic principles and workings of an operating system

– explain atomicity and its applications in the context of software and database systems

– develop a multi-threaded program with mutually exclusive access to a shared resource

– use multiple mechanisms for inter-process communication in practice

– evaluate the decisions in the design of a distributed computing system

– explain different server virtualization techniques

Reference nosilca

  1. SEDLAR, Urban, VOLK, Mojca, STERLE, Janez, SERNEC, Radovan, KOS, Andrej. Contextualized monitoring and root cause discovery in IPTV systems using data visualization. IEEE network, ISSN 0890-8044, Nov.-Dec. 2012, vol. 26, no. 6, str. 40-46, ilustr.
  2. STERLE, Janez, RUGELJ, Miha, SEDLAR, Urban, KORŠIČ, Luka, KOS, Andrej, ZIDAR, Peter, VOLK, Mojca. A novel approach to building a heterogeneous emergency response communication system. International journal of distributed sensor networks, ISSN 1550-1477. [Online ed.], 2015, vol. 2015, str. 1-9, ilustr.
  3. RUGELJ, Miha, SEDLAR, Urban, VOLK, Mojca, STERLE, Janez, HAJDINJAK, Melita, KOS, Andrej. Novel cross-layer QoE-aware radio resource allocation algorithms in multiuser OFDMA systems. IEEE transactions on communications, ISSN 0090-6778. [Print ed.], Sep. 2014, vol. 62, no. 9, str. 3196-3208, ilustr.
  4. KOS, Andrej, PRISTOV, Damijan, SEDLAR, Urban, STERLE, Janez, VOLK, Mojca, VIDONJA, Tomaž, BAJEC, Marko, BOKAL, Drago, BEŠTER, Janez. Open and scalable IoT platform and its applications for real time access line monitoring and alarm correlation. Lect. notes comput. sci., str. 27-38, ilustr.
  5. VOLK, Mojca, FALK-ANDERSSON, Niklas, SEDLAR, Urban. How to elicit, analyse and validate requirements for a digital health solution. V: FRICKER, Samuel A. (ur.), THÜMMLER, Christoph (ur.), GAVRAS, Anastasius (ur.). Requirements engineering for digital health. Cham [etc.]: Springer. cop. 2015, str. 155-188, ilustr.

Study materials

  1. Modern Operating Systems, Andrew S. Tanenbaum, Prentice Hall; 3rd ed (2007)
  2. Silberschatz A, Galvin P.B., Gagne G., Operating System Concepts, 7th ed, John Wiley &Sons, New York, 2004,
  3. Bic L.F., Shaw A.C, Operating Systems Principles, Prentice Hall, New Jersey, 2003,
  4. Benvenuti C., Understanding LINUX Network Internals, O'Reilly, 2005,
  5. Članki, objavljenih v revijah, npr. / Articles published in magazines, i.e.: IEEE Communications Surveys & Tutorials,   

Bodi na tekočem

Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana

E: T:  01 4768 411