Summary of Study |
Summary of Branches |
All Subject Groups |
All Subjects |
List of Roles |
Explanatory Notes
Instructions
Anotation:
The goal of this course is to introduce basic concepts and principles of operating systems
(OS), like processes and threads, their scheduling, mutual communication and
synchronization, time-dependent errors and deadlocks. Attention is also paid to memory
management, virtual memory, management of secondary storages, file-systems and data
security. The second part of the course is focused at databases, their types and
structures, concurrent data access and transactions.
Study targets:
Cílem předmětu je seznámit posluchače se základními pojmy a principy operačních systémů a databázových systémů
Course outlines:
1. | | Basic concepts: operating system (OS) and its kernel, hardware dependency, processes, threads, scheduling. OS types. |
2. | | Compiling and linking, libraries, OS services and calls, dynamic libraries and run-time linking |
3. | | Implementation and life-cycle of processes and threads. Scheduling algorithms. Real-time OSes and scheduling in them. |
4. | | Communication among processes and threads, critical sections, time-dependent errors, synchonization tools. Classical synchronization problems and their solution. |
5. | | Deadlocks: definition, conditions, solution possibilities |
6. | | Memory management: Basic techniques. Virtual memory, swapping, paging, segmentation, page-replacement algorithms. |
7. | | File-systems, organizing data on the secondary storage, principles, standard solutions, data security. |
8. | | Distributed computing, client-server architectures. OS components supporting computer networks and their programming. |
9. | | The database concepts and types. Data modelling, E-R model, decomposition and normalization. Data integrity |
10. | | Relation, relational model, keys (proper and foreign), data model quality. Object-oriented and object-relatinal databases. |
11. | | Database query languages. Relational algebra and calculus. SQL language queries, DDL, DML). XML data representation. |
12. | | Concurrent access to data, transactions, atomicity, error recovery, concurrency coordination. |
13. | | Physical data organization, indexes, B-trees, bitmap indexes, link-up to OS. |
14. | | Wrap-up, spare time. |
Exercises outline:
1. | | Introdution, exercise organization, 1st task assignment |
2. | | Brief OS overview, introduction to scripting languages |
3. | | Advanced script programming, regular expressions |
4. | | Exercising the scripting languages, 1st task delivery |
5. | | 2nd task assignment. Processes & threads, resource sharing - practical examples |
6. | | Interprocess communication |
7. | | The problem of deadlocks |
8. | | Client-server programming |
9. | | 2nd task delivery and results presentation |
10. | | 3rd task assignment, designing a simple database |
11. | | SQL loanguage and its applications |
12. | | Individual work in a computer room |
13. | | Presenytation of 3rd task results |
14. | | Conclusion, Q&A, spare time |
Literature:
1. | | Silberschatz A., Galvin P. B., Gagne G.: Operating System Concepts. J. Willey, 2005 |
2. | | Tanenbaum A. S.: Modern Operating Systems. Prenice Hall, 2001 |
3. | | Pokorný, J., Halaška, I.: Databázové systémy. Vydavatelství ČVUT, 2003 |
4. | | Elmasri R., Navath S.: Fundamentals of database systems. Addison-Wesley, 2007 |
Requirements:
Basic knowledge of C programming
Webpage:
https://cw.fel.cvut.cz/wiki/courses/a3b33osd/start
Keywords:
Operační systém, výpočetní proces, plánování práce procesorů, virtuální paměť, soubor, databáze, relace, SQL, transakce
Subject is included into these academic programs:
Page updated 26.2.2021 17:52:17, semester: Z/2020-1, L/2021-2, L/2020-1, Z/2021-2, Send comments about the content to the Administrators of the Academic Programs |
Proposal and Realization: I. Halaška (K336), J. Novák (K336) |