====== AE3B33OSD -- Operating Systems and Databases ====== ==== Lectures ==== Contact: Petr Stepan, [[stepan@labe.felk.cvut.cz?Subject=[33OSS]|stepan@labe.felk.cvut.cz ]] Operating System and Databases | 1. | 24/02 | Introduction | {{:courses:ae3b33osd:osd-lec1-14.pdf|lecture1.pdf}} {{:courses:ae3b33osd:lesson1-examples.tgz|example1.tgz}} | | 2. | Home work | System calls | {{:courses:ae3b33osd:osd-lec2-14.pdf|lecture2.pdf}} {{:courses:ae3b33osd:lesson2-examples.tgz|example2.tgz}} | | 3. | 08/03 | CPU scheduling | {{:courses:ae3b33osd:osd-lec3-14.pdf|lecture3.pdf}} {{:courses:ae3b33osd:lecture3.tgz|example3.tgz}} | | 4. | 15/03 | Process synchronization | {{:courses:ae3b33osd:osd-lec4-14.pdf|lecture4.pdf}} {{:courses:ae3b33osd:lecture4.tgz|example4.tgz}}| | 5. | 22/03 | Deadlock detection | {{:courses:ae3b33osd:osd-lec5-14.pdf|lecture5.pdf}}| | 6. | 29/03 | Memory management | {{:courses:ae3b33osd:osd-lec6-14.pdf|lecture6.pdf}} {{:courses:ae3b33osd:osd-lec6b-14.pdf|lecture6b.pdf}}| | 7. | 05/04 | File system | {{:courses:ae3b33osd:osd-lec7-14.pdf|lecture7.pdf}} | | 8. | 12/04 | Networking | {{:courses:ae3b33osd:osd-lec8-14.pdf|lecture8.pdf}}| | 9. | 19/04 | Introduction - Databeses | {{:courses:ae3b33osd:osd-lec9-14.pdf|lecture9.pdf}} | | 10. | 26/04 | Relations and SQL |{{:courses:ae3b33osd:osd-leca-14.pdf|lecture10.pdf}}| | 11. | 03/05 | Data Access |{{:courses:ae3b33osd:osd-lecb-14.pdf|lecture11.pdf}} | | 12. | 10/05 | Transactions | {{:courses:ae3b33osd:osd-lecc-14.pdf|lecture12.pdf}} | | | 13. | Rector's day | Rector's day | | 14. | 24/05 | Database Recovery | {{:courses:ae3b33osd:osd-lecd-14.pdf|lecture13.pdf}}| === Examination === The examination has two parts: Quiz and 2 Exercises. For quiz you cannot use any material, you select correct answer from suggested answers (a,b,c,d). For exercise you can use any printed or elctronic materials, you can use laptops, tablets, mobile phones. You cannot consult the exercise with other students, no chat, skype etc. Topic for the exercise: Scheduling {{:courses:ae3b33osd:scheduling.pdf|scheduling.pdf}} Deadlock {{:courses:ae3b33osd:deadlock.pdf|deadlock.pdf}} Memory {{:courses:ae3b33osd:memory.pdf|memory.pdf}} File Systems {{:courses:ae3b33osd:fs.pdf|files.pdf}} SQL {{:courses:ae3b33osd:sql.pdf|sql.pdf}} ==== Practical course information ==== Labs: Petr Štěpán ^ week ^ date ^ Description ^ Note | | 1 | 24.2. | Course intro, OS Introduction | | 2 | 2.3. | BASH basics | | 3 | 9.3. | BASH scripting | | 4 | 16.3. | Reqular expressions, system tools | | 5 | 23.3. | Compile process in UNIX | | 6 | 30.3. | POSIX file execution | | 7 | 6.4. | System calls, inline assembly | | 8 | 13.4. | OS loading, userspace, system calls | | 9 | 20.4. | ELF file load and exec, DEADLINE: [[courses:ae3b33osd:prj_b|B Task]] | | 10 | 27.4. | ER DBMS intro, DEADLINE: [[courses:ae3b33osd:prj_c|C1 Task]] | | 11 | 4.5. | SQL basics,DEADLINE: [[courses:ae3b33osd:prj_c|C2 Task]] | | 12 | 11.5. | Cancelled ^ Rector's day (no education, sport activities, see [[https://www.facebook.com/events/997681680339933/|FB page]]) | | 13 | 18.5. | SQL practically: [[courses:ae3b33osd:mysql#an_example_database|world.sql]], DEADLINE: [[courses:ae3b33osd:prj_e|E0, E1, E2 Tasks]] | | 14 | 25.5. | Presentations, DEADLINE: [[courses:ae3b33osd:prj_d|D Task]], Assessment | === Requirements === In order to obtain (practical) course credit (assessment, //zapocet//[CZ]) you have to fulfill all the following points: - Implement the A1--A5 tasks (simple BASH), [[prj_a|Specification]] - Implement the B task (BASH), [[prj_b|Specification]] (Task reservation obligatory) - Implement the C tasks (C1, C2), [[prj_c|Specification]] (Makefile, system calls in C) - Implement and personally present (show) the D task, [[prj_d|Specification]] (SQL + BASH) (Task reservation obligatory) - Implement and presonally present (show) the E (E0, E1, E2) tasks, [[prj_e|Specification]] ([[https://github.com/IntelLabs/NOVA|NOVA microhypervisor]]) All the tasks (A, B, C, D and E) must be uploaded via the [[http://cw.felk.cvut.cz/upload|Upload system]]. You have to present working (error-free) solution even in case the project is worth 0 pts or less (usually in case of late upload). The points go with you to the exam. In case of any doubts you might be asked to explain/demonstrate the knowledge you should have gained from the practical course((i.e. if I find out that you do not know the basic commands and/or the commands you have used in your tasks, you can be deducted points achieved. In severe cases this might lead to the denial of the assessment.)). The points obtained for solving the tasks in the practical course go with you to the exam and help you get better grade. === Remote access === You can access the home directories via the ''k333stu1'' server (IP: ''147.32.84.128''). In order to remotely debug your programs you can connect to the computers in the lab: these do not have public IP. You can connect to them via the ''k333stu1'' server -- use a name in the form ''e132-xx'' (xx is the PC number, 01--21), ev. ''e220-01'' -- ''e220-09'', or even ''e230-XX'', i.e.: ''ssh e132-01'' Please do not execute anything on the ''k333stu1'' server. It's higher load would have a negative impact on the function of the whole lab. === Other === == Get certified! == If you are serious about learning Linux, you should get trained by some acknowledged authority. Linux Foundation has published an online course for free (via edX.org): [[https://www.edx.org/course/linuxfoundationx/linuxfoundationx-lfs101x-introduction-1621|linuxfoundationx-lfs101x-introduction-1621]]. The course is self-paced and ends with a **free certificate** (a verified version is available for a fee). **You should give it a try at least!** Or, check [[https://www.maketecheasier.com/online-resources-for-learning-the-command-line/|Top 3 Online Resources for Learning the Command Line (For Linux and OS X)]]. == Shell checker == There is a script (BASH) checker available [[http://www.shellcheck.net/|shellcheck.net]] online. You might try to use it to improve your scripting skills. == Sample projects == An interesting game implemented in BASH: [[http://bruxy.regnet.cz/web/linux/EN/housenka-bash-game|Caterpillar BASH game]] Another interesting game implemented in BASH: [[http://www.dhampir.no/stuff/bash/shellshock.bash|ShellShock]] (not related to the recently disclosed [[http://en.wikipedia.org/wiki/Shellshock_(software_bug)|Shellshock vulnerability]]), [[http://blog.dhampir.no/content/shellshock-a-bash-3-bash-4-spaceshooter|Announcement]] === IMPORTANT WARNING === The [[http://cw.felk.cvut.cz/upload|Upload system]] is equipped with automated advanced plagiarism detection feature. The plagiarism is reported automatically and can be a reason for ending your study. Make sure your work is original. You can take a look in [[help:common:plagiarism_cheating|general rules]]. However, my rule is to negate (change a sign) the maximum points for the assignment. /* ===== počáteční info určené ke smazání uživatelem ===== * Toto je vygenerovaná počáteční stránka předmětu. * Rychlý start, [[http://www.dokuwiki.org/syntax|dokuwiki syntax]] * namespace (adresář) [[.internal:start|internal]] je viditelný pouze [[.:internal:users|uživatelům]] oprávněným editovat * [[https://cw.felk.cvut.cz/doku.php/help/start|Help stránky]] pro tuto konkrétní DokuWiki. * Příklad citace literatury, {[ae3b33osd:Autor2008]}. * Odkazy na [[https://cw.felk.cvut.cz/forum|diskusní fórum]], [[http://cw.felk.cvut.cz/upload/|UploadSystem]] a [[http://www.feld.cvut.cz/cz/education/rozvrhy-ng/public/cz/predmety/17/07/p1707106.html|rozvrh]] */