diff --git a/README.md b/README.md index 161fb4c..e4b8dd1 100644 --- a/README.md +++ b/README.md @@ -1,93 +1,3 @@ -# Betriebssysteme Mitschriften +# Zusammenfassungen - - -## Getting started - -To make it easy for you to get started with GitLab, here's a list of recommended next steps. - -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! - -## Add your files - -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - -``` -cd existing_repo -git remote add origin https://code.fbi.h-da.de/david.schirrmeister/betriebssysteme-Mitschriften.git -git branch -M main -git push -uf origin main -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://code.fbi.h-da.de/david.schirrmeister/betriebssysteme-Mitschriften/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README - -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. +## [Link zur Webseite](https://betriebssysteme-mitschriften-david-schirrmeister-cbcba5768d2be1.h-da.io/) \ No newline at end of file diff --git a/Writerside/images/QRC0001_UAL-1.jpg b/Writerside/images/QRC0001_UAL-1.jpg new file mode 100644 index 0000000..c0386fb Binary files /dev/null and b/Writerside/images/QRC0001_UAL-1.jpg differ diff --git a/Writerside/images/QRC0001_UAL-2.jpg b/Writerside/images/QRC0001_UAL-2.jpg new file mode 100644 index 0000000..9d1a10c Binary files /dev/null and b/Writerside/images/QRC0001_UAL-2.jpg differ diff --git a/Writerside/images/QRC0001_UAL-3.jpg b/Writerside/images/QRC0001_UAL-3.jpg new file mode 100644 index 0000000..1f9fed8 Binary files /dev/null and b/Writerside/images/QRC0001_UAL-3.jpg differ diff --git a/Writerside/images/QRC0001_UAL-4.jpg b/Writerside/images/QRC0001_UAL-4.jpg new file mode 100644 index 0000000..ed57126 Binary files /dev/null and b/Writerside/images/QRC0001_UAL-4.jpg differ diff --git a/Writerside/images/QRC0001_UAL-5.jpg b/Writerside/images/QRC0001_UAL-5.jpg new file mode 100644 index 0000000..6fb78f4 Binary files /dev/null and b/Writerside/images/QRC0001_UAL-5.jpg differ diff --git a/Writerside/images/QRC0001_UAL-6.jpg b/Writerside/images/QRC0001_UAL-6.jpg new file mode 100644 index 0000000..7b64224 Binary files /dev/null and b/Writerside/images/QRC0001_UAL-6.jpg differ diff --git a/Writerside/images/armref-1.jpg b/Writerside/images/armref-1.jpg new file mode 100644 index 0000000..0b44bef Binary files /dev/null and b/Writerside/images/armref-1.jpg differ diff --git a/Writerside/images/armref-2.jpg b/Writerside/images/armref-2.jpg new file mode 100644 index 0000000..6eb37e9 Binary files /dev/null and b/Writerside/images/armref-2.jpg differ diff --git a/Writerside/images/image_451.png b/Writerside/images/image_451.png new file mode 100644 index 0000000..e9a40bf Binary files /dev/null and b/Writerside/images/image_451.png differ diff --git a/Writerside/images/image_452.png b/Writerside/images/image_452.png new file mode 100644 index 0000000..429ceb9 Binary files /dev/null and b/Writerside/images/image_452.png differ diff --git a/Writerside/images/image_453.png b/Writerside/images/image_453.png new file mode 100644 index 0000000..98d70a6 Binary files /dev/null and b/Writerside/images/image_453.png differ diff --git a/Writerside/images/image_454.png b/Writerside/images/image_454.png new file mode 100644 index 0000000..b56bc71 Binary files /dev/null and b/Writerside/images/image_454.png differ diff --git a/Writerside/images/image_455.png b/Writerside/images/image_455.png new file mode 100644 index 0000000..b56bc71 Binary files /dev/null and b/Writerside/images/image_455.png differ diff --git a/Writerside/images/image_456.png b/Writerside/images/image_456.png new file mode 100644 index 0000000..7c90cd6 Binary files /dev/null and b/Writerside/images/image_456.png differ diff --git a/Writerside/images/image_457.png b/Writerside/images/image_457.png new file mode 100644 index 0000000..0a814fc Binary files /dev/null and b/Writerside/images/image_457.png differ diff --git a/Writerside/images/image_458.png b/Writerside/images/image_458.png new file mode 100644 index 0000000..02ba834 Binary files /dev/null and b/Writerside/images/image_458.png differ diff --git a/Writerside/images/image_459.png b/Writerside/images/image_459.png new file mode 100644 index 0000000..0bf2632 Binary files /dev/null and b/Writerside/images/image_459.png differ diff --git a/Writerside/images/image_460.png b/Writerside/images/image_460.png new file mode 100644 index 0000000..3fb6561 Binary files /dev/null and b/Writerside/images/image_460.png differ diff --git a/Writerside/images/image_461.png b/Writerside/images/image_461.png new file mode 100644 index 0000000..135e544 Binary files /dev/null and b/Writerside/images/image_461.png differ diff --git a/Writerside/images/image_462.png b/Writerside/images/image_462.png new file mode 100644 index 0000000..976cc56 Binary files /dev/null and b/Writerside/images/image_462.png differ diff --git a/Writerside/images/image_463.png b/Writerside/images/image_463.png new file mode 100644 index 0000000..6f64d85 Binary files /dev/null and b/Writerside/images/image_463.png differ diff --git a/Writerside/images/image_464.png b/Writerside/images/image_464.png new file mode 100644 index 0000000..6f64d85 Binary files /dev/null and b/Writerside/images/image_464.png differ diff --git a/Writerside/images/image_465.png b/Writerside/images/image_465.png new file mode 100644 index 0000000..cc790a4 Binary files /dev/null and b/Writerside/images/image_465.png differ diff --git a/Writerside/images/image_466.png b/Writerside/images/image_466.png new file mode 100644 index 0000000..61cb21e Binary files /dev/null and b/Writerside/images/image_466.png differ diff --git a/Writerside/images/image_467.png b/Writerside/images/image_467.png new file mode 100644 index 0000000..665ac8a Binary files /dev/null and b/Writerside/images/image_467.png differ diff --git a/Writerside/images/image_468.png b/Writerside/images/image_468.png new file mode 100644 index 0000000..e1b82d6 Binary files /dev/null and b/Writerside/images/image_468.png differ diff --git a/Writerside/images/image_469.png b/Writerside/images/image_469.png new file mode 100644 index 0000000..3e5428f Binary files /dev/null and b/Writerside/images/image_469.png differ diff --git a/Writerside/images/image_470.png b/Writerside/images/image_470.png new file mode 100644 index 0000000..61b3ea7 Binary files /dev/null and b/Writerside/images/image_470.png differ diff --git a/Writerside/images/image_471.png b/Writerside/images/image_471.png new file mode 100644 index 0000000..61b3ea7 Binary files /dev/null and b/Writerside/images/image_471.png differ diff --git a/Writerside/images/image_472.png b/Writerside/images/image_472.png new file mode 100644 index 0000000..315189d Binary files /dev/null and b/Writerside/images/image_472.png differ diff --git a/Writerside/images/image_473.png b/Writerside/images/image_473.png new file mode 100644 index 0000000..671f4e5 Binary files /dev/null and b/Writerside/images/image_473.png differ diff --git a/Writerside/images/image_474.png b/Writerside/images/image_474.png new file mode 100644 index 0000000..b0ad008 Binary files /dev/null and b/Writerside/images/image_474.png differ diff --git a/Writerside/images/image_475.png b/Writerside/images/image_475.png new file mode 100644 index 0000000..9604630 Binary files /dev/null and b/Writerside/images/image_475.png differ diff --git a/Writerside/images/image_476.png b/Writerside/images/image_476.png new file mode 100644 index 0000000..b1984ac Binary files /dev/null and b/Writerside/images/image_476.png differ diff --git a/Writerside/images/image_477.png b/Writerside/images/image_477.png new file mode 100644 index 0000000..697ac5d Binary files /dev/null and b/Writerside/images/image_477.png differ diff --git a/Writerside/images/image_478.png b/Writerside/images/image_478.png new file mode 100644 index 0000000..697ac5d Binary files /dev/null and b/Writerside/images/image_478.png differ diff --git a/Writerside/images/image_479.png b/Writerside/images/image_479.png new file mode 100644 index 0000000..69781a9 Binary files /dev/null and b/Writerside/images/image_479.png differ diff --git a/Writerside/images/image_480.png b/Writerside/images/image_480.png new file mode 100644 index 0000000..f93d1ce Binary files /dev/null and b/Writerside/images/image_480.png differ diff --git a/Writerside/images/image_481.png b/Writerside/images/image_481.png new file mode 100644 index 0000000..150eac0 Binary files /dev/null and b/Writerside/images/image_481.png differ diff --git a/Writerside/images/image_482.png b/Writerside/images/image_482.png new file mode 100644 index 0000000..097a7e3 Binary files /dev/null and b/Writerside/images/image_482.png differ diff --git a/Writerside/images/image_483.png b/Writerside/images/image_483.png new file mode 100644 index 0000000..20af735 Binary files /dev/null and b/Writerside/images/image_483.png differ diff --git a/Writerside/images/image_484.png b/Writerside/images/image_484.png new file mode 100644 index 0000000..20af735 Binary files /dev/null and b/Writerside/images/image_484.png differ diff --git a/Writerside/images/image_485.png b/Writerside/images/image_485.png new file mode 100644 index 0000000..6244195 Binary files /dev/null and b/Writerside/images/image_485.png differ diff --git a/Writerside/images/image_486.png b/Writerside/images/image_486.png new file mode 100644 index 0000000..c3f24f8 Binary files /dev/null and b/Writerside/images/image_486.png differ diff --git a/Writerside/images/image_487.png b/Writerside/images/image_487.png new file mode 100644 index 0000000..61fd8ad Binary files /dev/null and b/Writerside/images/image_487.png differ diff --git a/Writerside/images/image_488.png b/Writerside/images/image_488.png new file mode 100644 index 0000000..02bb9b4 Binary files /dev/null and b/Writerside/images/image_488.png differ diff --git a/Writerside/images/image_489.png b/Writerside/images/image_489.png new file mode 100644 index 0000000..c3e750f Binary files /dev/null and b/Writerside/images/image_489.png differ diff --git a/Writerside/images/image_490.png b/Writerside/images/image_490.png new file mode 100644 index 0000000..d7e30d2 Binary files /dev/null and b/Writerside/images/image_490.png differ diff --git a/Writerside/images/image_491.png b/Writerside/images/image_491.png new file mode 100644 index 0000000..aef9fb2 Binary files /dev/null and b/Writerside/images/image_491.png differ diff --git a/Writerside/images/image_492.png b/Writerside/images/image_492.png new file mode 100644 index 0000000..0d0a460 Binary files /dev/null and b/Writerside/images/image_492.png differ diff --git a/Writerside/images/image_493.png b/Writerside/images/image_493.png new file mode 100644 index 0000000..f71da56 Binary files /dev/null and b/Writerside/images/image_493.png differ diff --git a/Writerside/images/image_494.png b/Writerside/images/image_494.png new file mode 100644 index 0000000..8a009c8 Binary files /dev/null and b/Writerside/images/image_494.png differ diff --git a/Writerside/images/image_495.png b/Writerside/images/image_495.png new file mode 100644 index 0000000..ef72123 Binary files /dev/null and b/Writerside/images/image_495.png differ diff --git a/Writerside/images/image_496.png b/Writerside/images/image_496.png new file mode 100644 index 0000000..ef72123 Binary files /dev/null and b/Writerside/images/image_496.png differ diff --git a/Writerside/images/image_497.png b/Writerside/images/image_497.png new file mode 100644 index 0000000..c03b734 Binary files /dev/null and b/Writerside/images/image_497.png differ diff --git a/Writerside/images/image_498.png b/Writerside/images/image_498.png new file mode 100644 index 0000000..9663402 Binary files /dev/null and b/Writerside/images/image_498.png differ diff --git a/Writerside/images/image_499.png b/Writerside/images/image_499.png new file mode 100644 index 0000000..3c5f6b7 Binary files /dev/null and b/Writerside/images/image_499.png differ diff --git a/Writerside/images/image_500.png b/Writerside/images/image_500.png new file mode 100644 index 0000000..d692e32 Binary files /dev/null and b/Writerside/images/image_500.png differ diff --git a/Writerside/images/image_501.png b/Writerside/images/image_501.png new file mode 100644 index 0000000..1061d22 Binary files /dev/null and b/Writerside/images/image_501.png differ diff --git a/Writerside/images/image_502.png b/Writerside/images/image_502.png new file mode 100644 index 0000000..95cdaf0 Binary files /dev/null and b/Writerside/images/image_502.png differ diff --git a/Writerside/images/image_503.png b/Writerside/images/image_503.png new file mode 100644 index 0000000..df53949 Binary files /dev/null and b/Writerside/images/image_503.png differ diff --git a/Writerside/images/image_504.png b/Writerside/images/image_504.png new file mode 100644 index 0000000..ff07414 Binary files /dev/null and b/Writerside/images/image_504.png differ diff --git a/Writerside/images/image_505.png b/Writerside/images/image_505.png new file mode 100644 index 0000000..70e6c53 Binary files /dev/null and b/Writerside/images/image_505.png differ diff --git a/Writerside/images/image_506.png b/Writerside/images/image_506.png new file mode 100644 index 0000000..ef2b3ea Binary files /dev/null and b/Writerside/images/image_506.png differ diff --git a/Writerside/images/image_507.png b/Writerside/images/image_507.png new file mode 100644 index 0000000..feff4c5 Binary files /dev/null and b/Writerside/images/image_507.png differ diff --git a/Writerside/images/image_508.png b/Writerside/images/image_508.png new file mode 100644 index 0000000..e66981b Binary files /dev/null and b/Writerside/images/image_508.png differ diff --git a/Writerside/images/image_509.png b/Writerside/images/image_509.png new file mode 100644 index 0000000..239054a Binary files /dev/null and b/Writerside/images/image_509.png differ diff --git a/Writerside/images/image_510.png b/Writerside/images/image_510.png new file mode 100644 index 0000000..613b8e1 Binary files /dev/null and b/Writerside/images/image_510.png differ diff --git a/Writerside/images/image_511.png b/Writerside/images/image_511.png new file mode 100644 index 0000000..1bb2479 Binary files /dev/null and b/Writerside/images/image_511.png differ diff --git a/Writerside/images/image_512.png b/Writerside/images/image_512.png new file mode 100644 index 0000000..4258768 Binary files /dev/null and b/Writerside/images/image_512.png differ diff --git a/Writerside/images/image_513.png b/Writerside/images/image_513.png new file mode 100644 index 0000000..0f2e4b7 Binary files /dev/null and b/Writerside/images/image_513.png differ diff --git a/Writerside/images/image_514.png b/Writerside/images/image_514.png new file mode 100644 index 0000000..c317317 Binary files /dev/null and b/Writerside/images/image_514.png differ diff --git a/Writerside/images/image_515.png b/Writerside/images/image_515.png new file mode 100644 index 0000000..44c995e Binary files /dev/null and b/Writerside/images/image_515.png differ diff --git a/Writerside/images/image_516.png b/Writerside/images/image_516.png new file mode 100644 index 0000000..175fe1a Binary files /dev/null and b/Writerside/images/image_516.png differ diff --git a/Writerside/images/image_517.png b/Writerside/images/image_517.png new file mode 100644 index 0000000..8675076 Binary files /dev/null and b/Writerside/images/image_517.png differ diff --git a/Writerside/images/image_518.png b/Writerside/images/image_518.png new file mode 100644 index 0000000..88d48f9 Binary files /dev/null and b/Writerside/images/image_518.png differ diff --git a/Writerside/images/image_519.png b/Writerside/images/image_519.png new file mode 100644 index 0000000..06bd331 Binary files /dev/null and b/Writerside/images/image_519.png differ diff --git a/Writerside/images/image_520.png b/Writerside/images/image_520.png new file mode 100644 index 0000000..be1b1fa Binary files /dev/null and b/Writerside/images/image_520.png differ diff --git a/Writerside/images/image_521.png b/Writerside/images/image_521.png new file mode 100644 index 0000000..01deebb Binary files /dev/null and b/Writerside/images/image_521.png differ diff --git a/Writerside/images/image_522.png b/Writerside/images/image_522.png new file mode 100644 index 0000000..bc14535 Binary files /dev/null and b/Writerside/images/image_522.png differ diff --git a/Writerside/images/image_523.png b/Writerside/images/image_523.png new file mode 100644 index 0000000..05e6f75 Binary files /dev/null and b/Writerside/images/image_523.png differ diff --git a/Writerside/images/image_524.png b/Writerside/images/image_524.png new file mode 100644 index 0000000..a4bc8fe Binary files /dev/null and b/Writerside/images/image_524.png differ diff --git a/Writerside/images/image_525.png b/Writerside/images/image_525.png new file mode 100644 index 0000000..018f301 Binary files /dev/null and b/Writerside/images/image_525.png differ diff --git a/Writerside/images/image_526.png b/Writerside/images/image_526.png new file mode 100644 index 0000000..018f301 Binary files /dev/null and b/Writerside/images/image_526.png differ diff --git a/Writerside/images/image_527.png b/Writerside/images/image_527.png new file mode 100644 index 0000000..b30e2b6 Binary files /dev/null and b/Writerside/images/image_527.png differ diff --git a/Writerside/images/image_528.png b/Writerside/images/image_528.png new file mode 100644 index 0000000..a7f92bf Binary files /dev/null and b/Writerside/images/image_528.png differ diff --git a/Writerside/images/image_529.png b/Writerside/images/image_529.png new file mode 100644 index 0000000..ae79f46 Binary files /dev/null and b/Writerside/images/image_529.png differ diff --git a/Writerside/images/image_530.png b/Writerside/images/image_530.png new file mode 100644 index 0000000..c8242c0 Binary files /dev/null and b/Writerside/images/image_530.png differ diff --git a/Writerside/images/image_531.png b/Writerside/images/image_531.png new file mode 100644 index 0000000..e315991 Binary files /dev/null and b/Writerside/images/image_531.png differ diff --git a/Writerside/images/image_532.png b/Writerside/images/image_532.png new file mode 100644 index 0000000..bc0c21b Binary files /dev/null and b/Writerside/images/image_532.png differ diff --git a/Writerside/images/image_533.png b/Writerside/images/image_533.png new file mode 100644 index 0000000..8a8b04a Binary files /dev/null and b/Writerside/images/image_533.png differ diff --git a/Writerside/images/image_534.png b/Writerside/images/image_534.png new file mode 100644 index 0000000..7ac0ebe Binary files /dev/null and b/Writerside/images/image_534.png differ diff --git a/Writerside/images/image_535.png b/Writerside/images/image_535.png new file mode 100644 index 0000000..121e66c Binary files /dev/null and b/Writerside/images/image_535.png differ diff --git a/Writerside/images/image_536.png b/Writerside/images/image_536.png new file mode 100644 index 0000000..beb7af0 Binary files /dev/null and b/Writerside/images/image_536.png differ diff --git a/Writerside/images/image_537.png b/Writerside/images/image_537.png new file mode 100644 index 0000000..beb7af0 Binary files /dev/null and b/Writerside/images/image_537.png differ diff --git a/Writerside/images/image_538.png b/Writerside/images/image_538.png new file mode 100644 index 0000000..0896529 Binary files /dev/null and b/Writerside/images/image_538.png differ diff --git a/Writerside/images/image_539.png b/Writerside/images/image_539.png new file mode 100644 index 0000000..8eaa5e0 Binary files /dev/null and b/Writerside/images/image_539.png differ diff --git a/Writerside/images/image_540.png b/Writerside/images/image_540.png new file mode 100644 index 0000000..e0a0ace Binary files /dev/null and b/Writerside/images/image_540.png differ diff --git a/Writerside/images/image_541.png b/Writerside/images/image_541.png new file mode 100644 index 0000000..4690050 Binary files /dev/null and b/Writerside/images/image_541.png differ diff --git a/Writerside/images/image_542.png b/Writerside/images/image_542.png new file mode 100644 index 0000000..17dc472 Binary files /dev/null and b/Writerside/images/image_542.png differ diff --git a/Writerside/images/image_543.png b/Writerside/images/image_543.png new file mode 100644 index 0000000..dffe80b Binary files /dev/null and b/Writerside/images/image_543.png differ diff --git a/Writerside/images/image_544.png b/Writerside/images/image_544.png new file mode 100644 index 0000000..2b6516f Binary files /dev/null and b/Writerside/images/image_544.png differ diff --git a/Writerside/images/image_545.png b/Writerside/images/image_545.png new file mode 100644 index 0000000..d20fceb Binary files /dev/null and b/Writerside/images/image_545.png differ diff --git a/Writerside/images/image_546.png b/Writerside/images/image_546.png new file mode 100644 index 0000000..293e14a Binary files /dev/null and b/Writerside/images/image_546.png differ diff --git a/Writerside/images/image_547.png b/Writerside/images/image_547.png new file mode 100644 index 0000000..4f8584d Binary files /dev/null and b/Writerside/images/image_547.png differ diff --git a/Writerside/images/image_548.png b/Writerside/images/image_548.png new file mode 100644 index 0000000..2357279 Binary files /dev/null and b/Writerside/images/image_548.png differ diff --git a/Writerside/images/image_549.png b/Writerside/images/image_549.png new file mode 100644 index 0000000..3673747 Binary files /dev/null and b/Writerside/images/image_549.png differ diff --git a/Writerside/images/image_550.png b/Writerside/images/image_550.png new file mode 100644 index 0000000..b285d25 Binary files /dev/null and b/Writerside/images/image_550.png differ diff --git a/Writerside/images/image_551.png b/Writerside/images/image_551.png new file mode 100644 index 0000000..3154e1a Binary files /dev/null and b/Writerside/images/image_551.png differ diff --git a/Writerside/images/image_552.png b/Writerside/images/image_552.png new file mode 100644 index 0000000..45f667f Binary files /dev/null and b/Writerside/images/image_552.png differ diff --git a/Writerside/in.tree b/Writerside/in.tree index 1ee2420..0ce63f5 100644 --- a/Writerside/in.tree +++ b/Writerside/in.tree @@ -3,8 +3,9 @@ SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd"> + name="Zusammenfassungen" + start-page="StartPage.md"> + @@ -58,6 +59,17 @@ + + + + + + + + + + + @@ -69,6 +81,7 @@ + @@ -83,6 +96,8 @@ + + \ No newline at end of file diff --git a/Writerside/topics/02/BS/09_Interprozesskommunikation.md b/Writerside/topics/02/BS/09_Interprozesskommunikation.md index 562dea7..947767e 100644 --- a/Writerside/topics/02/BS/09_Interprozesskommunikation.md +++ b/Writerside/topics/02/BS/09_Interprozesskommunikation.md @@ -103,7 +103,7 @@ - bspw. _mkfifo myPipe ls > myPipe_ -### Promises (Futures) +### Promises (Futures) [-] - Konzept für _asynchrone Programmierung_ - Programm wartet auf Ergebnis/Rückmeldung einer asynchronen Operation - blockiert dabei NICHT Haupt-Thread diff --git a/Writerside/topics/02/BS/11_Energieeffizienz.md b/Writerside/topics/02/BS/11_Energieeffizienz.md index 1c69108..cf422f4 100644 --- a/Writerside/topics/02/BS/11_Energieeffizienz.md +++ b/Writerside/topics/02/BS/11_Energieeffizienz.md @@ -1,4 +1,4 @@ -# Energieeffizienz +# Energieeffizienz [-] ## Energieverwaltung - Frequenzskalierung der CPU - Spannungs- und Frequenzanpassung diff --git a/Writerside/topics/02/BS/13_Speicherverwaltung.md b/Writerside/topics/02/BS/13_Speicherverwaltung.md index b65e918..abf86bf 100644 --- a/Writerside/topics/02/BS/13_Speicherverwaltung.md +++ b/Writerside/topics/02/BS/13_Speicherverwaltung.md @@ -51,7 +51,7 @@ - sehr ineffizient ![image_282.png](image_282.png) -## Dynamische Partitionierung +### Dynamische Partitionierung - BS weist jedem Prozess eine zusammenhängende Partition zu - mit exakt benötigter Größe - dabei auch Fragmentierung diff --git a/Writerside/topics/02/BS/16_Dateisysteme.md b/Writerside/topics/02/BS/16_Dateisysteme.md index 0b8ec28..39e0e05 100644 --- a/Writerside/topics/02/BS/16_Dateisysteme.md +++ b/Writerside/topics/02/BS/16_Dateisysteme.md @@ -1,4 +1,4 @@ -# Dateisysteme +# Dateisysteme [-] ## Warum Dateisysteme - Neben Verwaltung des Hauptspeichers und Cache - Verwaltung des Massenspeichers (bspw. SSD, Festplatte) diff --git a/Writerside/topics/02/BS/17_Plattenspeicherverwaltung.md b/Writerside/topics/02/BS/17_Plattenspeicherverwaltung.md index 32a9c77..d41fc00 100644 --- a/Writerside/topics/02/BS/17_Plattenspeicherverwaltung.md +++ b/Writerside/topics/02/BS/17_Plattenspeicherverwaltung.md @@ -1,4 +1,4 @@ -# Plattenspeicherverwaltung +# Plattenspeicherverwaltung [-] ## Mögliche Strategien **Speicherung von einer Datei mit n Byte** - n aufeinanderfolgende Byte auf der Platte reservieren diff --git a/Writerside/topics/02/BS/Klausurthemen.md b/Writerside/topics/02/BS/Klausurthemen.md index bef6f9d..6c10d90 100644 --- a/Writerside/topics/02/BS/Klausurthemen.md +++ b/Writerside/topics/02/BS/Klausurthemen.md @@ -33,6 +33,9 @@ - Energieeffizienz - Dateisysteme - Plattenspeicherverwaltung +- Historie +- Formeln / Mathe-Shit +- POSIX-API Befehle - Und alles was da oben nicht steht :) diff --git a/Writerside/topics/02/OOAD/DesignPatterns.md b/Writerside/topics/02/OOAD/DesignPatterns.md index e8613a9..19bc32c 100644 --- a/Writerside/topics/02/OOAD/DesignPatterns.md +++ b/Writerside/topics/02/OOAD/DesignPatterns.md @@ -250,7 +250,7 @@ ## Composite Pattern - Baumartige Objektstruktur ### Structure Composite Pattern -![image_405.png](image_405.png) +![image_543.png](image_543.png) #### Component (Abstract Class) - Deklariert Interface für Objekte in der Komposition @@ -270,7 +270,7 @@ ![image_407.png](image_407.png) ## Strategy Pattern -![image_408.png](image_408.png) +![image_544.png](image_544.png) ## State Pattern ![image_409.png](image_409.png) diff --git a/Writerside/topics/02/OOAD/DesigningForMaintainability.md b/Writerside/topics/02/OOAD/DesigningForMaintainability.md index 3350003..a66976f 100644 --- a/Writerside/topics/02/OOAD/DesigningForMaintainability.md +++ b/Writerside/topics/02/OOAD/DesigningForMaintainability.md @@ -2,50 +2,8 @@ ## [UML (Unified Modeling Language)](UML.md) -```mermaid -classDiagram - class AdventurePackage { - -title: String - -description: String - } +## [Agile Design](AgileDesign.md) - class Trip { - -startingDate: Date - } - - class Accommodation { - -name: String - -address: String - } +## [Design Principles](DesignPrinciples.md) - class Person { - -name: String - -address: String - } - - class Participant { - } - - class TourGuide { - } - - class Booking { - -bookingDate: Date - -isPaid: Boolean - } - - Person <|-- Participant - Person <|-- TourGuide - - AdventurePackage "1" --o "0..*" Trip : contains > - Trip "0..*" -- "1" Accommodation : has > - Trip "0..*" -- "1" TourGuide : leads > - Trip "0..*" -- "0..*" Participant : booked by > - - Participant "1" --o "0..*" Booking : makes > - Booking "0..*" -- "1" Trip : for > - Booking "0..*" -- "1" Participant : by > - - TourGuide "1" --o "0..*" AdventurePackage : certified for > - -``` \ No newline at end of file +## [Design Patterns](DesignPatterns.md) \ No newline at end of file diff --git a/Writerside/topics/02/RA/ARM_Befehlsübersicht.md b/Writerside/topics/02/RA/ARM_Befehlsübersicht.md new file mode 100644 index 0000000..7204ba8 --- /dev/null +++ b/Writerside/topics/02/RA/ARM_Befehlsübersicht.md @@ -0,0 +1,7 @@ +# ARM-Befehlsübersicht +![QRC0001_UAL-1.jpg](QRC0001_UAL-1.jpg) +![QRC0001_UAL-2.jpg](QRC0001_UAL-2.jpg) +![QRC0001_UAL-3.jpg](QRC0001_UAL-3.jpg) +![QRC0001_UAL-4.jpg](QRC0001_UAL-4.jpg) +![QRC0001_UAL-5.jpg](QRC0001_UAL-5.jpg) +![QRC0001_UAL-6.jpg](QRC0001_UAL-6.jpg) \ No newline at end of file diff --git a/Writerside/topics/02/RA/Caches.md b/Writerside/topics/02/RA/Caches.md new file mode 100644 index 0000000..4f35c7f --- /dev/null +++ b/Writerside/topics/02/RA/Caches.md @@ -0,0 +1,227 @@ +# Caches +## Cache-Speicher +![image_502.png](image_502.png) +- Deutlich schneller als Zugriff auf Hauptspeicher +- viel kleiner als Hauptspeicher + +## Grundprinzipien +![image_503.png](image_503.png) + +## Speicher-Zugriff über Cache +- Transparenter Zugriff für die CPU + - Zugriff auf Speicher anhand der Speicheradresse aus der CPU + - Daten werden zurückgeliefert + - dazwischen: Cache + +## Aufbau Cache Speicher +![image_504.png](image_504.png) +- Cache Line + - Einheit für Kopie eines Memory-Blocks + - mehrere Worte + - Index + - Adressiert die Cache-Line + - Data + - Daten aus dem Speicher + - V + - Valid Bit + - 1 = Vorhanden + - 0 = nicht Vorhanden (_Anfangswert_) + - Tag + - Blockadresse + - welcher zum Index passende Memory-Block ist abgelegt? + +### Offset +#### Zugriff innerhalb des Caches +- Mit Offset innerhalb der Cacheline auf einzelne Wörter/Bytes zugreifen +- Beispiel + - Byte-Offset im Speicher + - 2Bit + - Größe Cache-Line + - 4 Byte + - Wort-Offset für Adressierung der Wörter in Cache-Line + - 2 Bit + - Offset in ADresse gesamt + - 4 Bit + +#### Offset Beispiel +![image_506.png](image_506.png) +![image_505.png](image_505.png) + +### Index: Cache Adressierung +![image_507.png](image_507.png) +- Speicherort wird durch Index-Teil der Adresse bestimmt +- $Cacheadresse = Speicheradresse \mod ZeilenImCache$ + + +### Tag: Zuordnung der Daten +- Woher ist bekannt welcher Block im Speicher abgelegt ist + - Speichern der Blockadresse (TAG) und der Daten +- ![image_508.png](image_508.png) + +### Assoziativität: Cache-Zeilen mit gleichem Index +![image_510.png](image_510.png) +- Durch weiteren Satz von Cache-Lines + - Daten mit gleichem Index aber unterschiedlichen Tags speichern +- ![image_509.png](image_509.png) + +#### Grad der Assoziativität +- höhere Assoziativität verringert Fehlerzugriffrate +- 1-Fach: 10,3% +- 2-Fach: 8,6% +- 4-Fach: 8,3% +- 8-Fach: 8,1% + + +## Cache-Beispiel +![image_511.png](image_511.png) +![image_512.png](image_512.png) +![image_513.png](image_513.png) +![image_514.png](image_514.png) +![image_515.png](image_515.png) +![image_516.png](image_516.png) +![image_517.png](image_517.png) + + +## Zusammenfassung Adressierung +![image_518.png](image_518.png) + +## Cache Organisation (Assoziativität) +- [Direkt abgebildet (direct mapped)](#direkt-abbildender-cache) + - ein Datenwort kann in einem Eintrag abgelegt sein + - ![image_522.png](image_522.png) +- [Voll assoziativ (fully associative)](#voll-assoziativer-cache) + - ein Datenwort kann in einem beliebigen Cache-Eintrag abgelegt sein + - ![image_524.png](image_524.png) +- [Satz assoziativ (set associative)](#n-fach-satzassoziativer-cache) + - ein Datenwort kann in wenigen Cache-Einträgen (_typischerweise 2-8_) abgelegt sein + - ![image_523.png](image_523.png) + +### Direkt abbildender Cache +![image_519.png](image_519.png) + +### Voll assoziativer Cache +![image_520.png](image_520.png) + +### N-Fach satzassoziativer Cache +![image_521.png](image_521.png) + +## Lesezugriff +- Wenn Prozessor Wort aus Hauptspeicher lesen will + - Cache-Logik prüft, ob Wort schon im Cache ist + - **cache hit** + - Daten im Cache + - Wort an Prozessor weitergeben + - Trefferrate = Treffer / Zugriffsrate + - **cache miss** + - Daten nicht im Cache + - Daten aus HS lesen + - Fehlerzugriffsrate = 1 - Trefferrate +- ![image_525.png](image_525.png) + + +## Lesen von Daten +### Ersetzungsstrategien im assoziativen Cache +- Falls Wort nicht im Cache vorhanden + - aus Speicher in Cache laden +- Bei direkt abgebildeten Cache + - Zuordnung der Adresse des Wortes zu einer Cache-Zeile eindeutig +- Beim assoziativen Cache verschiedene Strategien möglich + - **Least Recently Used (LRU)** + - Wählt Zeile, die am längsten nicht genutzt wurde + - Für mehr als 4-Fach zu aufwendig + - **Zufällig** + - Wähle zufällige Zeile + - Ähnliche Trefferrate wie LRU bei hoher Assoziativität + - **Round-Robin** + - Zyklischer Zugriff + +### Initiales Lesen von Daten +- Zwei Lese- / Füllstrategien +- **on demand, demand fetching** + - Beim ersten Lesen einer Information aus HS + - ganze Zeile in Cache laden, falls noch nicht drin +- **Prädiktiv, prefetch** + - Vorhersage, welche Speicherzeilen gebraucht werden + - Während Leerlaufphasen in Cache vorladen + - Zweiter Programmzähler (Remote PC) + - Künftigen Programmablauf bestimmen + - Gut weil + - Bessere Nutzung [räumlicher Lokalität](Rechnersysteme_Intro.md#r-umliche-lokalit-t) + - Prefetching durch Hardware + - Stream Buffers zwischen Cache und Speicher + - Prefetching durch Software + - ```c++ + for (int i = 0; i < 1024; i++){ + prefetch (array1 [i+k]); // stride k + array1[i] = 2* array1[i]; + } + ``` + + +## Schreibzugriff +- Daten in Cache und HS müssen konsistent bleiben +- Wenn Prozess Speicherstelle schreiben möchte, die schon im Cache ist + - **write-through** + - Schreiben erfolgt sowohl im Cache als auch im HS + - langsame Schreibzugriffe + - **write-back** + - Schreiben nur im Cache + - Eintrag markieren + - _dirty bit_ + - Wenn Cache-Line verdrängt wird in HS schreiben + - _Gefahr Inkonsistenz_ + - **No-write** + - Wort nur im HS schreiben + - im Cache als invalid markieren + - langsame Schreibzugriffe + - ggf. danach langsame Lesezugriffe + +### Initiales Schreiben von Daten +- **write-around** + - nur in HS schreiben +- **write-allocate** + - fetch on write + - erst Cache-Line in den Cache, dann wie oben + +### Übliche Kombinationen +- write-allocate → write-back +- write around → write through + +### Schreib-Buffer +- ![image_526.png](image_526.png) +- beschleunigt Schreiben, da kein Stall erfolgt +- Wenn Buffer voll ist + - strukturelle Abhängigkeit + - Warten bis Schreiben in HS abgearbeitet ist +- Bei direkt folgendem Lesezugriff auf zu schreibende Daten + - Datenabhängigkeit + + +## Cache Spezifikation +- Definiert durch + - Anzahl der Cache-Zeilen C + - Größe einer Cache-Zeile L + - Assoziativität m +- Daraus lässt sich bestimmen + - Aufteilung der ADress in Offset, Index, Tag + - [Gesamtgröße Cache](#gesamtgr-e-cache) + +## Gesamtgröße Cache +![image_527.png](image_527.png) + +## Cache-Leistung +![image_528.png](image_528.png) + +### Beispiel Cache Leistung +![image_529.png](image_529.png) +![image_530.png](image_530.png) + +## Multilevel Cache Organisation +![image_531.png](image_531.png) +- Level 1 + - Cache für Instruktionen und Daten +- Level 2 + - vereint für Instruktionen und Daten +- Level 3 + - auf Board-Ebene (Static RAM) + diff --git a/Writerside/topics/02/RA/Historie.md b/Writerside/topics/02/RA/Historie.md index 0b00069..9ee6ea9 100644 --- a/Writerside/topics/02/RA/Historie.md +++ b/Writerside/topics/02/RA/Historie.md @@ -86,4 +86,56 @@ stateDiagram -``` \ No newline at end of file +``` + + +## Z3 +- von Konrad Zuse +- auf Basis von Telefonrelais +- Elemente + - ![image_451.png](image_451.png) +- | | Ausführung | + |--------------------------------|----------------------------------------------------------------------------------------------------------------------| + | Technik | 600 Relais Rechenwerk
1600 Relais Speicherwerk | + | Taktfrequenz | 5-10 Hertz | + | Rechenwerk | Gleitkommarechenwerk
16 Takte Multiplikation
3 Takte Addition
18 Takte Division | + | Mittlere Rechengeschwindigkeit | Multiplikation 3 Sekunden
Division 3 Sekunden
Addition 0,7 Sekunden | + | Eingabe | Dezimaltastatur mit 20 Nachkommastellen
Umwandlung nach Binärcode | + | Ausgabe | Mit Lampen
4 Dezimalstellen mit Kommaanzeige
Wortlänge 22 Bit
Gleitkomma: Mantisse, Exponent, Vorzeichen | + | Anzahl Relais | 2000 | + | Anzahl Schrittschalter | 10 für Mikroprogrammsteuerung | + | Speicheraufbau | 1400 Relais, 64 Worte à 22 Bit | + | Leistungsaufnahme | ca. 4000 Watt | + | Gewicht | ca. 1 Tonne | + | Einsatzgebiet | FHügelberechnungen | + + +## ENIAC +- 17x10 Meter +- 30 Tonnen +- 174 Kilowatt Verbrauch +- Bestandteile + - 17000 Vakuum-Röhren zur Datenverarbeitung + - 7200 Dioden + - 70000 Widerstände + - 10000 Kondensatoren + - 6000 Schalter + - 1500 Relais +- **Keine Trennung zwischen Programm und Maschine** + - Für Programmänderung neu verkabeln +- Geschwindigkeit + - Addition/Subtraktion: 0,2 ms + - Multiplikation: 2,8 ms + - Division: 24 ms + - Quadratwurzel: 300 ms + + +## EDVAC +- binäres Zahlenformat +- Befehle werden im internen Speicher verarbeitet +- setzte [von-Neumann-Architektur](Prozessorkonzepte.md#von-neumann-rechner-speicherprogrammierter-rechner) um + + +## EDSAC +- erster elektronischer Computer mit von-Neumann-Architektur + - Programme werden im Speicher abgelegt und verarbeitet \ No newline at end of file diff --git a/Writerside/topics/02/RA/Multicore.md b/Writerside/topics/02/RA/Multicore.md new file mode 100644 index 0000000..e4dd6c4 --- /dev/null +++ b/Writerside/topics/02/RA/Multicore.md @@ -0,0 +1,134 @@ +# Multicore [?] +## Erweiterung Steuerwerk +- Zur überlappenden Verarbeitung von Befehlen +### Phasenpipelining +- Mehrere Befehle gleichzeitig im Prozessor in Arbeit + - in unterschiedlichen Phasen + - verwenden unterschiedliche Komponenten des Prozessors +- **Je mehr Stufen, desto mehr Befehle gleichzeitig** + - desto eher wird CPI = 1 erreicht + - Voraussetzung + - Anpassung Befehlssatz an Pipelinebedingungen + - RISC, Load-Store, Register-Register + - Probleme + - Steuerungs-, Daten-, strukturelle Konflikte (=Hazards) +- **Je mehr Stufen, desto schlimmer ist Leeren und Neustart der Pipeline nach falscher Sprungvorhersage** + +#### 14-18 Pipelinestufen optimal + +#### Verfahren zur Lösung der Konflikte +- Hardware + - Caches, Forwarding, Branch Prediction +- Befehlssatzerweiterung +- Software + - Pipeline-gemäße Sortierung der Befehle durch den Compiler + +## Beispiel anhand einer 5-Stufigen Pipeline +![image_532.png](image_532.png) +- **Befehlsholphase (IF)** + - Lesen des Befehls + - separater Speicher von Befehlen und Daten + - Vermeidung von Konflikten mit Datenzugriffen + - `STR R1, [R2]` bzw `ADD R4, R5, R6` +- **Dekodier- / Register-Lese-Phase (ID)** + - Lesen der Register + - möglich wegen fester Plätze für Registernummern im Befehlswort + - `R1, R2` bzw `R5, R6` lesen +- **Ausführungs- / Adressberechnungsphase (EX)** + - Berechnung arithmetischer Funktionen + - `R5 + R6` + - bzw. Adresse für Speicherzugriff + - `[R2] + 0` +- **Speicherzugriffsphase (Mem)** + - Wird nur bei Lade- / Speicherbefehlen benötigt + - _Abspeichern des Werts R1 an zuvor berechnete Adresse [R2]_ +- **Abspeicherungsphase (WB)** + - Speichern in Register + - Bei Speicherbefehlen (ohne Autoinkrement) nicht benötigt + - _Speichern des Ergebnisses der Addition in R4_ + + +- **Reihenfolge ohne Pipelining (3 Befehle)** + - ![image_533.png](image_533.png) +- **Reihenfolge mit Pipelining (3 Befehle)** + - ![image_534.png](image_534.png) + - ![image_535.png](image_535.png) + +## Pipeline-Konflikte +### Strukturelle Konflikte (structural hazards) +- resultieren aus Ressourcenkonflikten + - überlappende Instruktionen, die gleiche Ressource benutzen + +#### Beispiel strukturelle Konflikte +- ![image_536.png](image_536.png) +- ![image_537.png](image_537.png) +- Alternative Darstellung: + - ![image_538.png](image_538.png) + +### Datenkonflikte (data hazards) +- resultieren aus Instruktionen, die von Ergebnissen einer vorigen Instruktion abhängig sind + - _bspw. Read-After-Write_ + - Instruktion liest aus Register, nachdem eine andere reingeschrieben hat + - **Lösung durch Forwarding** + - Write-After-Read + - Write after Write + - 2 Instruktionen haben gleiches Ergebnisregister + - WAR / WAW + - Konflikte durch Doppelverwendung + - können durch mehr Register gelöst werden + +### Steuerungskonflikte (control hazards) +- resultieren aus Sprüngen + - Befehle, die PC verändern + - führt zu entleeren der Pipeline und einem erneuten Befüllen + - ![image_539.png](image_539.png) + +## Sprungvorhersage +- Vorhersagen, ob Sprung ausgeführt wird +- Falls nicht ausgeführt wird + - Pipelinedurchlauf nicht unterbrechen + - PC inkrementieren + - nächste Instruktion machen + - Falls richtig, kann Pipeline normal weiter laufen + +### Korrektur Sprungvorhersage +![image_540.png](image_540.png) + +### Methoden Sprungvorhersage +#### Statisch (vom Computer implementiert) +- Default-Annahmen über Sprungverhalten zur Laufzeit + - Default not taken + - bspw. Verzweigung (Sprung vorwärts) + - Default taken + - bspw. Schleifen (Sprung rückwärts) +- Delayed branches + - ersetzen den freien Slot in der Pipeline mit sinnvollen, Sprungunabhängigen Befehlen + +### Dynamisch +- in Abhängigkeit vom tatsächlichen Verhalten des Sprungs +- **Sprungvorhersagepuffer (Branch History Table - BHT)** + - ![image_541.png](image_541.png) + - Sprungziel muss noch ausgerechnet werden + - Kleiner Speicher + - wird mit (Teil der) Adresse des Sprungbefehls indiziert + - verwendet nur wenige untere Bits der Adresse + - Enthält ein Bit + - Sprung beim letzten Mal ausgeführt? + - **Taken / not Taken** + - Vorhersage + - Sprung verhält sich wie beim letzten Mal + - Nachfolgebefehle + - ab vorhergesagter Adresse holen + - Falls Vorhersage Falsch + - Vorhersagebit invertieren +- **Sprungzielvorhersage** + - **Branch Target Buffer (BTB)** + - ![image_542.png](image_542.png) + - Erfolgt in IF-Phase + - Verhalten ähnlich eines Caches + - adressiert mit Sprungbefehlsadresse + - BTB liefer vorhergesagte Adresse als Ergebnis + - Keine Verzögerung + - WENN KORREKT + + \ No newline at end of file diff --git a/Writerside/topics/02/RA/Rechnersysteme_Intro.md b/Writerside/topics/02/RA/Rechnersysteme_Intro.md new file mode 100644 index 0000000..50747e7 --- /dev/null +++ b/Writerside/topics/02/RA/Rechnersysteme_Intro.md @@ -0,0 +1,96 @@ +# Rechnersysteme Intro +## Rechnerarchitektur +![image_495.png](image_495.png) +- **Interne Funktionsweise** + - Architektur eines Rechners + - Design von Maschinenbefehlen → ISA +- **Programmierung in Maschinensprache** + - Befehle + - arithmetic / logic + - Vergleich + - Flags + - Bedingungen + - Sprünge + - Speicherzugriff über Adressen + - Verwendung eines Compilers + - Umsetzung von Hochsprachenkonstrukten in Assembler + +## Entwicklung von Mikroprozessoren +### Einfache In-Order-CPU mit kurzer Pipeline +![image_496.png](image_496.png) +- Grundprinzipien: + - Minimaler Hardware-Aufwand + - Höhere Dichte + - Höhere Frequenz + +### Out-of-Order superskalare CPU mit vielfältigen Optimierungen +![image_497.png](image_497.png) +- Grundprinzipien: + - Pipelining (Fließband) + - Parallelisierung + - Prinzip der Lokalität + +### Erhöhung der Performance durch Superskalarität +![image_498.png](image_498.png) + + +## Speicherhierarchie +![image_499.png](image_499.png) +### Prinzip der Lokalität +#### Temporäre Lokalität +- Tendenz zur Wiederverwendung zuvor genutzter Datenelemente + - bspw. Instruktionen einer Schleife + +#### Räumliche Lokalität +- Tendenz auf Datenelemente zuzugreifen, die in der Nähe von bereits Zugegriffenen liegen + - bspw. sequenzielle Instruktionen, Felder + +### Cache +- Pufferspeicher, die Lokalität ausnutzen +- zeitlich/räumlich lokale Daten werden im SRAM vorgehalten + + +## Performance +- Zielsetzung + - Architekturvergleich von CPU & Speicherarchitektur + - Identifikation ovn Einflussfaktoren auf Performance + +**IPC = instructions per cycle** +- Durchsatz +- Arbeitsmenge pro Zeiteinheit + +**CPI = cycles per instructions = 1/IPC** +- Latenz +- Zeit pro Befehl + + +CPU-Zeit = Rechenzeit für n Instruktionen (_messbar_) + +$t_{cycle} = frac{1}{f}$ + +$$ +t_{CPU} = n_{instr} * t_{instr} += n_{instr} * CPI * t_{cycle} += \frac{n_{instr}*t_{cycle}}{IPC} +$$ + +$IPC = \frac{n_{instr}}{f*t_{CPU}}$ + +### Einfluss von Unterbrechungen +- Idealsituation: $CPI = IPC = 1$ + - Einzelne Pipeline + - Keine Hazards + - Speicherzugriff: Hit im 1st Level Cache +- Tatsächliche Situation + - ![image_500.png](image_500.png) + + +### Performance-Vergleich & Speedup +- Vergleich + - $\frac{performance_A}{performance_B}=\frac{t_{cpuA}}{t_{cpu_B}}$ +- Speedup + - $\frac{t_{cpuOrig}}{t_{cpuEnhanced}} + +#### Speedup durch Multicore +![image_501.png](image_501.png) + diff --git a/Writerside/topics/02/RA/arm_adressierung.md b/Writerside/topics/02/RA/arm_adressierung.md index c8f7d7e..431880f 100644 --- a/Writerside/topics/02/RA/arm_adressierung.md +++ b/Writerside/topics/02/RA/arm_adressierung.md @@ -127,4 +127,32 @@ ## Beispiel Kopieren indiziert - ![image_437.png](image_437.png) - ![image_438.png](image_438.png) -- \ No newline at end of file + + +## Load/Store - Befehlsformat +![image_477.png](image_477.png) + +## Adressierungsarten übersicht +| Art | ARM-Beispiel | Alternativer Name | +|-----------------------------|----------------------------------------------------------------------------------|--------------------------------------------------------------------------| +| Immediate | `mov r0, #8` | Literal | +| Direkt | wird nicht unterstützt | Absolute | +| PC-relativ | `ldr r1, [pc, #offset]`
Pseudobefehl, `label` in `.text`
`ldr r1, label` | | +| Register | `mov r0, r1` | Register-to-Register
Register Direct | +| Register-Indirect | `ldr r0, [r1]` | Indexed | +| Indiziert / Index | `ldr r0, [r1, #4]`
`ldr r0, [r1, #4]!`
`ldr r0, [r1], #4` | Pre-indexed
Post-indexed,
pre-incrementing
post-incrementing | +| Basis-indizierte | `ldr r0, [r1, r0, LSL#2]` | | +| Basis-indizierte mit Offset | wird nicht unterstützt | | + + +## Blocktransfer-Befehle +![image_478.png](image_478.png) +- Register mit niedrigster Nummer wird geladen von/gespeichert nach der niedrigsten Adresse +- Reihenfolge der angegebenen Register im Befehl spielt keine Rolle + +### Beispiel +![image_479.png](image_479.png) + +## Stacks +- push {} +- pop {} \ No newline at end of file diff --git a/Writerside/topics/02/RA/arm_hochsprache_strukturen.md b/Writerside/topics/02/RA/arm_hochsprache_strukturen.md new file mode 100644 index 0000000..b385a73 --- /dev/null +++ b/Writerside/topics/02/RA/arm_hochsprache_strukturen.md @@ -0,0 +1,170 @@ +# ARM Hochsprache Strukturen +## Unterprogrammtechnik +- wird durch `bl Unterprogramm` aufgerufen + - _Unterprogramm_ muss zu dem Zeitpunkt bereits ein bekanntes Label sein + +| Blatt-Routinen | Nicht-Blatt-Routinen | +|--------------------------------|--------------------------| +| rufen keine Unterprogramme auf | rufen Unterprogramme auf | + + +## Unterprogrammaufruf +![image_482.png](image_482.png) + +## Indirekte Unterprogrammaufrufe +- Falls Adresse zur Compilezeit nicht bekannt ist + +- Annahme: aufzurufende Programmadresse steht in r0 + - `mov lr, pc` + - `mov pc, r0` + - Durch Pipelining entsteht im PC die aktuelle Bitadresse +8 + - Da jeder Befehl Länge von 4 Byte hat + - Linkregister zeigt auf Rücksprungadresse + +## ARM Procedure Calling Standard (APCS) +- Schnittstelle zwischen Programmteilen + - Wie werden Parameter an Unterprogramme übergeben + - Welche Register dürfen zerstört werden + - Wie werden Ereignisse zurückgegeben + - Wie sieht das Stackframe eines Unterprogramms aus + +### Konvention zur Parameterübergabe von 32Bit-Daten +- ![image_483.png](image_483.png) +- Parameter 1-4 werden in den Registern r0-r3 übergeben +- Rückgabewert von Funktionen steht im Register r0 oder r0/r1 +- Register r0-r3 und Register ip sind Scratch Register + - Inhalt darf im Unterprogramm zerstört werden +- Informationen in r4-r10, fp, sp müssen erhalten werden +- Inhalt von lr wird zur Rückkehr ins aufrufende Programm benötigt + +## Parameterübergabe bei anderen Prozessoren (CISC) +- ![image_484.png](image_484.png) +- Übergabe in Registern typisch für Load/Store-Architekturen + - vermeidet Zugriffe auf Speicher +- Andere Prozessoren verwenden Stack + - Parameter + - Rücksprungadresse (PC) +- Ergebnis im ACC zurückgeben + +## Blatt-Funktionen +- können lokale Variablen in Scratch-Registern speichern +- Rückkehradresse kann im Linkregister bleiben +- ![image_485.png](image_485.png) + +## Nicht-Blatt-Funktionen +- Linkregister wird durch neue Rücksprungadresse überschrieben + - vorher auf Stack retten +- Scratchregister dürfen durch neues Unterprogramm frei verwendet werden + - keine lokalen Variablen speichern +- Variablenregister verwenden + - von Anfang an auf Stack +- ![image_486.png](image_486.png) + +## Unterprogramm +- Unterprogrammaufruf mit Parameterübergabe +- Dokumentation + - Übergabewerte & lokale Variablen +- Eingangsprüfung Parameter + - ggf. Abbruch +- ggf. Register retten +- Initialisation Rückgabeparameter, lokale Variablen +- Programmkörper beachten + - Anweisungen, Schleifen, Verzweigungen: Grenzfälle der Indizes +- Speicherzugriffe passend zur Datengröße +- ggf. Register restaurieren +- Rückgabewert setzen +- Rücksprung + +## Operanden in Ausdrücken +- Argument im Register +- Argument auf dem Stack + - Stackpointer + - Relative Adressierung + - Stackpointer + Offset +- Als Konstante im Literal-Bereich der Prozedur + - PC-relative Adressierung mit Offset +- Als lokale Variable + - liegt im Stack + - Zugriff relativ zum Stack-Pointer / Frame-Pointer mit LDR +- Als globale Variable + - liegt im statischen Datenbereich im Speicher + - Adresse liegt relativ zur statischen Basisadresse +- Zeiger +- Array + - Kurzschreibweise für Zeiger + Offset + + +## Kontrollfluss +### IF-ELSE +![image_487.png](image_487.png) + +### Switch +![image_488.png](image_488.png) +```c++ +int testswitch( int a, int* b, int c ) { + switch (a) { + case 0: + *b = 0; + break; + case 1: + if ( c > 100 ) *b = 0; + else *b = 3; + break; + case 2: + *b = 1; + break; + case 3: + break; + case 4: + *b = 2; + break; + } +} +``` + +### While +![image_489.png](image_489.png) + +### Do-While +![image_490.png](image_490.png) + +### For +![image_491.png](image_491.png) +```c++ +void testfor( int a[]) { + for (int i = 0; i < 10; i++){ + a[i] = 0; + } +} +``` + +## Objekte, (virtuelle) Methoden +### Methodenaufrufe bei Objekten +- Methode bekommt als ersten Parameter immer einen Zeiger auf das betreffende Objekt (this) + - Zugriff auf Daten des Objektes gewährleistet + +### Statischer Objektaufruf +- Falls Methoden einer Klasse nicht virtuell + - Compiler kann zur Compile-Zeit schon Klasse bestimmen und Adresse der Methode einsetzen + +### Dynamischer Methodenaufruf +- ![image_492.png](image_492.png) + +## Beispiele Assemblerprogramme +### my_max +```c++ +#include +void my_max(int a, int b, int* c) {} + if (a > b) + *c = a; + else + *c = b; +} +``` + +#### my_max ohne Optimierung +![image_493.png](image_493.png) + +#### my_max mit Optimierung +![image_494.png](image_494.png) + diff --git a/Writerside/topics/02/RA/arm_hochsprache_typen.md b/Writerside/topics/02/RA/arm_hochsprache_typen.md new file mode 100644 index 0000000..6383aea --- /dev/null +++ b/Writerside/topics/02/RA/arm_hochsprache_typen.md @@ -0,0 +1,55 @@ +# ARM Hochsprache Typen +## Abstraktion +- Assembler + - Programme auf Basis von + - Befehlen, Adressen, Register, Byte, Wort, ... + - Abstraktion + - wird durch Software erreicht + - keine explizite Sprachunterstützung +- Hochsprachen + - unterstützen besser das Denken in abstrakten Begriffen + - CPU-unabhängig + +## Datentypen +- Kennzeichnen sich durch + - Anzahl benötigte Bits + - Anordnung der Bits + - Art der Verwendung der Bits +- Datentypen + - Positive/Negative Ganzzahlen + - binär, dezimal, hexadezimal, Wertbereiche + - Gleitkommazahlen + - [Zeichen](#zeichen) + +## Zeichen +- Erste Mainframes + - Uneinheitliche Codierung von Buchstaben +- ASCII: + - 7Bit +- diverse ISO + +## ANSI C Basisdatentypen +- Char +- Short Integer +- Integer +- Long Integer +- Float +- Double +- Long Double +- Aufzählungstypen +- Bitfelder + +### Abgeleitete ANSI C Datentypen +- Arrays +- Funktionen +- Strukturen +- Zeiger/Pointer +- Varianten/Unions + +## Gleitkommazahlen +### ISO IEEE754 +![image_480.png](image_480.png) + +- Beispiele + - ![image_481.png](image_481.png) + diff --git a/Writerside/topics/02/RA/armref.md b/Writerside/topics/02/RA/armref.md new file mode 100644 index 0000000..6f58608 --- /dev/null +++ b/Writerside/topics/02/RA/armref.md @@ -0,0 +1,4 @@ +# ARM-Referenzen +![armref-1.jpg](armref-1.jpg) + +![armref-2.jpg](armref-2.jpg) \ No newline at end of file diff --git a/Writerside/topics/06/EWI/10_IntergrierteInformationsverarbeitung.md b/Writerside/topics/06/EWI/10_IntergrierteInformationsverarbeitung.md new file mode 100644 index 0000000..be3159b --- /dev/null +++ b/Writerside/topics/06/EWI/10_IntergrierteInformationsverarbeitung.md @@ -0,0 +1,59 @@ +# Integrierte Informationsverarbeitung +## Lernziele +- [Kategorien von Anwendungssystemen](#haupttypen-betrieblicher-anwendungssysteme) + - erkennen, wesentliche Eigenschaften nennen, unterscheiden +- [betriebliche Anwendungssystempyramide skizzieren](#haupttypen-betrieblicher-anwendungssysteme) +- Architektur eines DWH skizzieren +- horizontale und vertikale Integration +- ERP-, CRM-, SCM- Systeme + - Eigenschaften, Vorteile, Herausforderungen + +## Haupttypen betrieblicher Anwendungssysteme +![image_550.png](image_550.png) +### FUS bzw. FUS +> Unterstützungssysteme für die Führungsebene + +### MIS +> Managementinformationssysteme + +### DSS bzw. EUS +> Entscheidungsunterstützungssysteme + +### OSS +> Operative Systeme + + +## MIS vs. EUS/DSS +### Verbindung der einzelnen Arten von Anwendungssystemen +![image_551.png](image_551.png) + +### Integration +> Verknüpfung von Menschen, Aufgaben und Technik zu einem einheitlichen Ganzen +> +> Um den Funktions- / Prozess- / Abteilungsgrenzen entgegenzuwirken + +### Integrationsaspekte betrieblicher AWS +![image_552.png](image_552.png) +#### Integrationsgegenstand: Daten +- Gemeinsame Nutzung derselben Daten durch mehrere Funktionen +- **Ziel** + - Redundanzarme Speicherung von Daten + - Dateninkonsistenzen vermeiden +- **Mittelpunkt** + - Logische Integrität von Datenbanksystemen +- Einfachste Form der Kupplung von Anwendungssystemen + +#### Integrationsgegenstand: (Unternehmens-)Funktion +- **Voraussetzung** + - Auf Datenebene durchgeführte Integration +- Unterscheidung zwischen Ausrichtung + - nach Aufgabenträger + - nach Datenfluss +- Nimmt Einfluss auf organisatorische Gestaltung des Unternehmens + +#### Integrationsgegenstand: Objekt +- Vereinigt Aspekte der vorherigen Integrationen +- Kommunikation zwischen Objekten über Nachrichten +- Formen + - Intra-Objektorganisation + - Inter-Objektorganisation \ No newline at end of file diff --git a/Writerside/topics/06/EWI/9_Internetökonomie.md b/Writerside/topics/06/EWI/9_Internetökonomie.md new file mode 100644 index 0000000..bbe387f --- /dev/null +++ b/Writerside/topics/06/EWI/9_Internetökonomie.md @@ -0,0 +1,173 @@ +# Internet-Ökonomie, digitale Geschäftsmodelle, Plattformen +## Lernziele +- Zentrale Eigenschaften [digitaler Güter](#digitale-g-ter) und [Märkte](#digitale-m-rkte) +- [fundamentale Prinzipien der Internet-Ökonomie](#grundlagen-der-internet-konomie) +- [Mechanismen von Netzwerkgütern und Netzwerkeffekten](#konomie-der-netzwerkeffekte) +- wesentliche Merkmale von [digitalen Plattformen](#digitale-plattformen) + +## Grundlagen der Internetökonomie +### Digitale Güter +- immaterielle Mittel zur Bedürfnisbefriedigung + - bestehen aus Binärdaten + - lassen sich mithilfe von IKT(_Anwendungsbereich für Informations- und Kommunikationstechnologien_) entwickeln/vertreiben/anwenden +- Beispiele + - Digitalisierbare Produkte + - _Nachrichten, Zeitschriften, Software_ + - Digitale Duplikate physischer Produkte + - _Bankschecks, Konzertkarten, Fotos_ + - Digitale Dienstleistungen + - _Cloud Computing, Kommunikations-/Entwicklungsleistungen_ + +#### Unterschied Digitale / Traditionelle Güter +| | Materielle Güter | Digitale Güter | +|-------------------------|--------------------------------------|-----------------------------------| +| Vervielfältigungskosten | hoch | niedrig | +| Wertstabilität | Verlust durch Gebrauch | Gewinn durch Verbrauch | +| Besitz | Individuell | Vielfach (möglich) | +| Datenschutz | Identifikations-/Schutzmöglichkeiten | Probleme | +| Verbreitung | schwierig (Logistik) | einfach | +| Preis/Wert | leicht identifizierbar | nur subjektiv | +| Kosten | leicht identifizierbar | [schwer identifizierbar](#kosten) | +| Bestandsbewertung | möglich | problematisch | +| Verbreitung | physisch | über netzbasierte Medien | + + +#### Kosten +- Teuer in Produktion +- Günstig in Verteilung/Reproduktion +- erste digitale Kopie hat einmaligen Aufwand an Fixkosten + - **First Copy Costs** +- Stückkostendegression + - "The Winner takes it all!" + - ![image_454.png](image_454.png) +- ![image_452.png](image_452.png) +- ![image_453.png](image_453.png) + +#### Nutzen +- Verbreitung hat hohen Einfluss +- ![image_455.png](image_455.png) + - Netzwerkgüter + - zur vollen Nutzenentfaltung benötigen sie komplementäre Produkte + - Beispiel Facebook: + - Wert steigt für jeden Benutzer, je mehr Benutzer verbunden sind + - ![image_456.png](image_456.png) + + +### Digitale Märkte +- vollständige Informationen erreichbar + - Produkte, Unternehmen, Kunden + - erhöht Markttransparenz +- räumliche Unabhängigkeit +- zeitliche Unabhängigkeit +- kurze Reaktionszeiten +- ineffiziente Marktteilnehmer überleben nicht + + +## Ökonomie der Netzwerkeffekte +### Direkte Netzwerkeffekte +- Netzwerkvergrößerung wirkt sich unmittelbar für alle bisherigen Teilnehmer aus +- ![image_457.png](image_457.png) + +### Indirekte Netzwerkeffekte +- Folgeeffekte (_bspw. Angebot von Komplementärgütern_) + - ergeben sich mittelbar durch höhere Nutzerzahl eines Gutes +- ![image_458.png](image_458.png) + +#### Beispiel indirekte Netzwerkeffekte +- ![image_459.png](image_459.png) +- ![image_460.png](image_460.png) + +## Plattformen und Plattform-Ökonomie +### Was ist eine Plattform +- Online-Umgebung + - nutzt wirtschaftliche Vorteile "**kostenlos, perfekt, sofort**" +- Geschäftsmodell + - wertschöpfende Interaktion zwischen Anbieter und Kunde ermöglichen + - offene Infrastruktur + - Rahmenbedingungen und Regeln dafür festlegen + +### Plattformen stellen Unternehmen auf den Kopf +![image_461.png](image_461.png) + +### 4C-Business-Net-Typologie +| | Content | Commerce | Context | Connection | +|--------|-----------------------------------------------------------------------------|---------------------------------------------------------------|-------------------------------------------------------------------|-------------------------------------------------------------| +| Inhalt | Sammlung, Selektion, Systematisierung, Kompilierung, | Anbahnung, Aushandlung/Abwicklung von Informationen | Klassifikation und Systematisierung von verfügbaren Informationen | Herstellung eines Informationsaustausches in Netzen | +| Ziel | Online-Bereitstellung von Konsumentenzentrierten, personalisierten Inhalten | Ergänzung bzw. Substitution traditioneller Transaktionsphasen | Komplexitätsreduktion, Navigation | Kommerzielle oder rein kommunikative Verbindungen in Netzen | +| Erlöse | Indirekte Erlösmodelle (vor allem Werbemärkte) | Transaktionsabhängige, direkte/indirekte Erlösmodelle | Indirekte Erlösmodelle | Direkte/Indirekte Erlösmodelle | + +### Plattformen sind besser als Pipelines +![image_462.png](image_462.png) + +### 4 Arten von Plattformen +![image_463.png](image_463.png) + + +## Netzwerkeffekte +### auf mehrseitigen Plattformen +![image_464.png](image_464.png) + +### auf bestehenden Plattformen +![image_465.png](image_465.png) + +### Wirkungen +![image_466.png](image_466.png) + +#### Beispiel Airbnb +![image_467.png](image_467.png) + + +## Effekt der Komplemente +### Nachfragekurve +![image_468.png](image_468.png) + +### Angebotskurve +![image_469.png](image_469.png) + +### Matching Angebot und Nachfrage +![image_470.png](image_470.png) + +### Komplemente verschieben Nachfragekurven nach innen/außen +![image_545.png](image_545.png) + +### Komplemente (kostenlos, perfekt, sofort) +- Beschleuniger einer Plattform +![image_472.png](image_472.png) + +### Online-to-Offline (O2O) Plattformen +- Falls "kostenlos, perfekt, sofort" nicht gilt +- Ökonomie der Bits auf profitabler Weise mit Ökonomie der Atome zusammenbringen +- Verbesserung der Ressourceneffizienz + + +## Digitale Plattformen +### Erfolgsfaktoren +- zeitig im Markt +- Effekte der Komplementärgüter nutzen +- Plattform für andere Akteure öffnen +- Spielraum für Eintritt glücklicher Zufälle lassen +- Plattform pflegen +- Dinge so einfach wie möglich machen +- Schöne, einfache UI +- minimierte Informationsasymmetrie +- Managen der Spannungen und Dilemmata + +### Transformation zu mehrseitigen Plattformen (MSP) +| Strategie | Voraussetzungen | Maßnahme | Zeichnung | +|-------------------------------------------|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------|---------------------------------| +| 3rd Party erlauben | großer Kundenstamm, den Dritte mit eigenen Angeboten erreichen wollen | Dritten Möglichkeit geben mit Kunden in Kontakt zu treten | ![image_473.png](image_473.png) | +| Kunden verbinden | versch. Kundensegmente, die außerhalb des Angebots miteinander interagieren | Angebot modifizieren, sodass ein Teil der Interaktion im Produkt liegt | ![image_474.png](image_474.png) | +| Produkte verbinden um Kunden zu verbinden | Pro Kundenstamm ein Produkt
Kundenstämme interagieren unabhängig vom Angebot | Produkte verbinden und so Interaktion in Produkt integrieren | ![image_475.png](image_475.png) | +| Verkauf an MSP | großer Kundenstamm, Kunden der Kunden Mehrwert bieten | Angebot für Kunden der Kunden erstellen
erhöht Wert des Produkts vom Kunden | ![image_476.png](image_476.png) | + + +### Kritik an Plattformen +- Monopolisierung +- Entwicklung attraktiv, nur für wenige Firmen realistisch +- geografische Konzentration in den USA/China +- Datenschutz der Nutzungs-/Transaktionsdaten +- Unternehmen definieren "Spielregeln" +- Reduktion der User auf Rolle der Marktteilnehmer vs. Menschen + - Fokus Kaufkraft, Aufmerksamkeit, Verweildauer +- Risiko Manipulation + diff --git a/Writerside/topics/06/EWI/Uebung_1.md b/Writerside/topics/06/EWI/Uebung_1.md new file mode 100644 index 0000000..2a4af0e --- /dev/null +++ b/Writerside/topics/06/EWI/Uebung_1.md @@ -0,0 +1,8 @@ +# Übung 1 +![image_546.png](image_546.png) + +![image_547.png](image_547.png) + +![image_548.png](image_548.png) + +![image_549.png](image_549.png) \ No newline at end of file diff --git a/Writerside/topics/06/EWI/Uebung_5.md b/Writerside/topics/06/EWI/Uebung_5.md index fa59270..4dd8128 100644 --- a/Writerside/topics/06/EWI/Uebung_5.md +++ b/Writerside/topics/06/EWI/Uebung_5.md @@ -8,9 +8,8 @@ - Task 1 → Task 2 ### b) Berechnen Sie die durchschnittliche DLZ -$$ -DLZ = 5min + 0,2*[70min + 0,3*(15min)+0,7*(30min+10min)]+0,8*(10min) = 33,5min -$$ +$DLZ = 5min + 0,2*[70min + 0,3*(15min)+0,7*(30min+10min)]$ + $+0,8*(10min) = 33,5min$ ## Aufgabe 2: Prozesszeit/-kostenrechnung **Berechnen Sie die durchschnittliche Durchlaufzeit eines Supportfalls gemäss den Angaben diff --git a/Writerside/topics/StartPage.md b/Writerside/topics/StartPage.md new file mode 100644 index 0000000..6e57ad7 --- /dev/null +++ b/Writerside/topics/StartPage.md @@ -0,0 +1,3 @@ +# Startseite + +#### Für sämtliche Informationen übernehme ich keine Haftung! \ No newline at end of file