-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modify app-interact chapter #137
base: main
Are you sure you want to change the base?
Conversation
8389211
to
a2a4b9a
Compare
Hi, @cosmin1805, thanks for this. Please notify me once your PR covers everything from #76 (and its comments) so that I can mark it as superseded by this. |
Published at https://cs-pub-ro.github.io/operating-systems/137/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In order for your changes to be rendered to the website [1], you'll need to specify the structure of this chapter in config.yaml
[2], in a way similar to the others ([3] specifies the files used for each lab and [4] specifies the structure of a chapter in the sidebar). To test the website locally, run make build
in the repo's root folder. Fix the errors, then run make serve
.
After this, place the slides in their subchapters' slides/
folders and slides.mdpp
in chapters/app-interact/
.
[1] https://cs-pub-ro.github.io/operating-systems/137/
[2] https://github.com/cs-pub-ro/operating-systems/blob/main/config.yaml
[3]
Lines 94 to 115 in 5315234
- title: Lab 7 - Copy-on-Write | |
filename: lab7.md | |
content: | |
- tasks/apache2.md | |
- tasks/page-faults.md | |
- tasks/shared-memory.md | |
- tasks/mini-shell.md | |
- reading/processes-threads-apache2.md | |
- reading/copy-on-write.md | |
- guides/apache2.md | |
- guides/fork-faults.md | |
- title: Lab 8 - Syncronization | |
filename: lab8.md | |
content: | |
- tasks/race-condition.md | |
- tasks/threadsafe-data-struct.md | |
- tasks/libult.md | |
- reading/synchronization.md | |
- reading/user-level-threads.md | |
- reading/scheduling.md | |
- guides/user-level-threads.md | |
- guides/libult.md |
[4]
Lines 216 to 259 in 5315234
- Compute: | |
path: /build/prepare_view/.view | |
extra: | |
- media | |
subsections: | |
- Slides: /build/embed_reveal/Compute/Compute.mdx | |
- Overview: /build/prepare_view/.view/compute-overview.md | |
- Questions: | |
path: questions | |
subsections: | |
- Parent Faults Before Fork: parent-faults-before-fork.md | |
- Mmap Cow Flag: mmap-cow-flag.md | |
- Sections Always Shared: sections-always-shared.md | |
- Child Faults After Write: child-faults-after-write.md | |
- Seg Fault Exit Code: seg-fault-exit-code.md | |
- Threads Shared Data: threads-shared-data.md | |
- Thread Memory: thread-memory.md | |
- Apache2 Strace: apache2-strace.md | |
- Mini Shell Stops After Command: mini-shell-stops-after-command.md | |
- Cause of File Not Found Error: cause-of-file-not-found-error.md | |
- Process Creation: process-creation.md | |
- Who Calls Execve Parent: who-calls-execve-parent.md | |
- Exec Without Fork: exec-without-fork.md | |
- Create Sleepy Process Ending: create-sleepy-process-ending.md | |
- Processes Speedup: processes-speedup.md | |
- Parent of Sleep Processes: parent-of-sleep-processes.md | |
- Sleeping on a Fiber: sleeping-on-a-fiber.md | |
- Fiber Strace: fiber-strace.md | |
- Type of Scheduler in Libult: type-of-scheduler-in-libult.md | |
- Number of Running Ults: number-of-running-ults.md | |
- Why Use Completed Queue: why-use-completed-queue.md | |
- Ult Thread IDs: ult-thread-ids.md | |
- TCB Libult Unikraft: tcb-libult-unikraft.md | |
- Time Slice Value: time-slice-value.md | |
- Number of Running Threads: number-of-running-threads.md | |
- Notify Only With Mutex: notify-only-with-mutex.md | |
- TLS Var Copies: tls-var-copies.md | |
- TLS Synchronization: tls-synchronization.md | |
- Semaphore Equivalent: semaphore-equivalent.md | |
- Coarse vs Granular Critical Section: coarse-vs-granular-critical-section.md | |
- Not Race Condition: not-race-condition.md | |
- Lab 6 - Multiprocess and Multithread: lab6.md | |
- Lab 7 - Copy-on-Write: lab7.md | |
- Lab 8 - Syncronization: lab8.md |
What are the titles of Lab 12 and Lab 13? How do I decide the order in which to arrange the tasks, and in which lab each task should be included? |
There will only be lab 12 for App Interact. You can see the tasks here [1]. Keep them mostly in the same order, but if you feel that any of them would work better in a different place, feel free to move it. Moving tasks around is as easy as moving one line in [1] Lines 287 to 298 in dc21b9b
|
Published at https://cs-pub-ro.github.io/operating-systems/137/ |
Published at https://cs-pub-ro.github.io/operating-systems/137/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The chapter's starting to take a better shape now. I made inline suggestions to make things look better. Most of them should be applied globally. In addition, you should also start looking into the checkpatch [1] and super-linter failures [2]. To fix spellcheck, you'll have to add the false positive words [3] to these wordlist via another PR. Make sure to keep those wordlist sorted.
[1] https://github.com/cs-pub-ro/operating-systems/actions/runs/11975236465/job/33388135941?pr=137
[2] https://github.com/cs-pub-ro/operating-systems/actions/runs/11975236465/job/33388135510?pr=137
[3] https://github.com/cs-pub-ro/operating-systems/actions/runs/11975236465/job/33388135058?pr=137
chapters/app-interact/os-cloud/drills/tasks/os-cloud/solution/initial_setup.sh
Outdated
Show resolved
Hide resolved
Published at https://cs-pub-ro.github.io/operating-systems/137/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I made some more inline comments about splitting the content. Besides, fix the linter failures [1] (I gave further details here [2]), remove content/chapters/app-interact/
and these comments [3].
[1] https://github.com/cs-pub-ro/operating-systems/pull/137/checks
[2] #137
[3] https://github.com/cs-pub-ro/operating-systems/blob/main/config.yaml#L331-L348
chapters/app-interact/os-cloud/drills/questions/cgroups-vs-namespaces.md
Outdated
Show resolved
Hide resolved
chapters/app-interact/os-cloud/drills/questions/container-vs-vm.md
Outdated
Show resolved
Hide resolved
chapters/app-interact/overview/guides/demo/comm-channels/Makefile
Outdated
Show resolved
Hide resolved
Also rebase the |
For PR: cs-pub-ro/operating-systems#137 Signed-off-by: Iacobai Cosmin-Andrei <[email protected]>
For PR: cs-pub-ro/operating-systems#137 Signed-off-by: Iacobai Cosmin-Andrei <[email protected]>
Rebase the |
Signed-off-by: Iacobai Cosmin-Andrei <[email protected]>
Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
- added to the Makefile the gifs - added a title to all task file - moved the demos - updated all media links in slides Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
….sh` Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
This commit restructures the IO chapter according to OpenEdu methodology. This comprises of: - refactoring and changing the order of chapters - generating support files from solution - breaking arena into smaller sections - fixing Makefiles from tasks to be self-contained Signed-off-by: Mihnea Firoiu <[email protected]> Signed-off-by: Alex Apostolescu <[email protected]>
This commit restructures the IO chapter according to OpenEdu methodology. This comprises of: - refactoring and changing the order of chapters - generating support files from solution - breaking arena into smaller sections - fixing Makefiles from tasks to be self-contained Signed-off-by: Mihnea Firoiu <[email protected]> Signed-off-by: Alex Apostolescu <[email protected]>
Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
…Makefiles in the demo folder and resolving the checkpatch errors. Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
This change consolidates build rules into each Makefile so that none of them depend on external included makefiles. This simplifies the build process and reduces inter-file dependencies. Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
@teodutu So on the branch
What should I do now?
|
Run |
84f1014
to
b348623
Compare
For PR: cs-pub-ro/operating-systems#137 Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
Published at https://cs-pub-ro.github.io/operating-systems/137/ |
For PR: cs-pub-ro/operating-systems#137 Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
`Aplication` modified to `Application` Signed-off-by: Cosmin-Andrei Iacobai <[email protected]>
@teodutu Is there anything else that needs to be done to this chapter? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The content is good as it is. Now for the finishing touches:
- Add a note like this at the end of each task:
If you're having difficulties solving this exercise, go through [this](link to the relevant section in reading/) reading material.
- Remove
overview/guides/demo/common/
. All those makefiles should be copied into those thatinclude
them. - Move everything in
overview/guides/demo
tooverview/guides/
(and removedemo/
). A guide is a demo, there's no difference. - Fix the linter failures [1]. Lots of them come from the logger. Just copy them from the I/O chapter [2] where their coding style has been fixed.
- Your PR shouldn't make any changes to the
io
chapter. Make sure you've rebased properly against themain
branch that it's updated from the upstream repo:
git remote add upstream [email protected]:cs-pub-ro/operating-systems.git
git checkout main
git fetch upstream
git pull upstream main
git checkout translate_app-interact
git rebase -i main # at this step you can change the first word from each commit from "pick" to "s" (from "squash") so you only end up with one commit after rebasing
# Now the rebase will progress and stop whenever there are conflicts. git will tell you what the conflicting files are. Fix them, then run git add + git rebase --continue until the rebase finishes.
git push -f
[1] https://github.com/cs-pub-ro/operating-systems/actions/runs/12241792610/job/34157993777
[2] https://github.com/cs-pub-ro/operating-systems/tree/main/chapters/io/ipc/drills/tasks/receive-challenges/solution/src/utils
Prerequisite Checklist
Description of changes
I will attempt to continue working on:
#76