diff --git a/content/assignments/lambda-function-loader/README.md b/content/assignments/lambda-function-loader/README.md index eed23bca43..f20be80135 100644 --- a/content/assignments/lambda-function-loader/README.md +++ b/content/assignments/lambda-function-loader/README.md @@ -10,7 +10,7 @@ Discrepancies might arise between local environments and the dedicated OS virtua Grading will consider results obtained solely in the OS virtual machine environment. The core of this project revolves around the construction of a system capable of dynamic library loading and subsequent function execution. -The project architecture embraces a [client-server model](https://cs-pub-ro.github.io/operating-systems/Lab/IO/client-server-model), where the server is responsible for receiving and fulfilling requests to execute functions sourced from specific dynamic libraries present within the system. +The project architecture embraces a [client-server model](https://cs-pub-ro.github.io/operating-systems/IO/lab10#client-server-model), where the server is responsible for receiving and fulfilling requests to execute functions sourced from specific dynamic libraries present within the system. This functionality marks the initial phase toward realizing capabilities akin to [AWS Lambda](https://aws.amazon.com/lambda/). In this context, users can load and execute functions across distinct servers upon request. @@ -19,7 +19,7 @@ Detailed below are the primary requisites and potential enhancements. ### Implementation Details and Notes -The implementation involves the capability to receive commands utilizing [UNIX sockets](https://cs-pub-ro.github.io/operating-systems/Lab/IO/beyond-network-sockets#unix-sockets), encompassing the designation of a library (the path to the library file) and optionally specifying a function. +The implementation involves the capability to receive commands utilizing [UNIX sockets](https://cs-pub-ro.github.io/operating-systems/IO/lab10#unix-sockets), encompassing the designation of a library (the path to the library file) and optionally specifying a function. A command transmitted from the client to the server conforms to the format: ` [ []]` where: - `libname` represents the path to the intended library. @@ -87,14 +87,10 @@ The server's implementation must be robust, enabling continuous execution even i What is needed for the implementation of the proposed project: -- Understanding inter-process communication - using Unix sockets and read/write or send/receive operations: - - [I/O Course](https://cs-pub-ro.github.io/operating-systems/Lecture/IO/) - - [I/O Lab](https://cs-pub-ro.github.io/operating-systems/I/O/) +- Understanding inter-process communication - using Unix sockets and read/write or send/receive operations ([I/O Chapter](https://cs-pub-ro.github.io/operating-systems/IO/)) - Understanding the API for loading/unloading libraries and executing functions from dynamic libraries: - Hint: `man dlopen` -- Working with shared data between processes or threads: - - [Compute Course](https://cs-pub-ro.github.io/operating-systems/Lecture/Compute/) - - [Compute Lab](https://cs-pub-ro.github.io/operating-systems/Compute/) +- Working with shared data between processes or threads ([Compute Chapter](https://cs-pub-ro.github.io/operating-systems/Compute/)) - Working with memory - Working with files diff --git a/misc/rules-and-grading.md b/misc/rules-and-grading.md index 5249890376..3a077f324f 100644 --- a/misc/rules-and-grading.md +++ b/misc/rules-and-grading.md @@ -176,7 +176,7 @@ During the hackathon, teams will receive assistance from OS teaching assistants. #### Date -Saturday, December 16, 2023, within the interval 10:00-18:00. +Saturday, January 11, 2025, within the interval 10:00-18:00. #### Location @@ -184,39 +184,28 @@ The hackathon takes place physically in rooms: - PR 703 - PR 705 -- PR 706 #### Prerequisites -1. Students enrolled in the OS course in the academic year 2023-2024 can participate. +1. Students enrolled in the OS course in the academic year 2024-2025 can participate. 1. Participants will form teams of two. 1. Participants will work on their own systems. #### Registration -Participating teams can register for the hackathon by completing the form [here]([https://forms.gle/qs5wKBwCe86RdQPGA\](https://forms.gle/qs5wKBwCe86RdQPGA/)) until December 10, 2023, at 23:55. -Up to 30 teams will be selected. +Registration is closed. #### Regulations 1. Versioned code must be added to a **private** repository using GitHub. Create a private repository, add the supervising assistants, and include a README with the team composition. Follow [these steps](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository#inviting-a-collaborator-to-a-personal-repository) to add your teammate and teaching assistants as collaborators to the repository. -The supervising assistants and their GitLab accounts are: - -- `elena19m` -- `fabianpatras` -- `teodutu` -- `gabrielmocanu` -- `Alex-deVis` -- `razvanvirtan` -- `StefanJum` 1. The code must pass a set of tests provided by the OS team. ##### Submission -Submissions will be uploaded on [Moodle](https://curs.upb.ro/2023/mod/assign/view.php?id=80182). +Submissions will be uploaded on [Moodle](https://curs.upb.ro/2024/mod/assign/view.php?id=93326). - A submission consists of a `.zip` archive containing the directory `operating-systems/content/assignments/lambda-function-loader/` (with directories `tests` and `src`). - The archive is uploaded by one team member only. @@ -236,11 +225,11 @@ Each member of the winning teams will receive a prize based on their ranking: #### Equivalence -All participating teams are **eligible** for one point equivalence in the OS subject (depending on **implementation complexity and project stage developed during the hackathon**). +All participating teams are **eligible** for up to 0.75 points equivalence in the OS subject (depending on **implementation complexity and project stage developed during the hackathon**). #### Winners Announcement -Winning teams will be announced by December 20, 2023. +Winning teams will be announced by January 17, 2025. ### Lecture Quizzes (1 point)