この資料の背景 社内向け勉強会で並行処理と並列処理というテーマで発表しようとしたら、 OSの役割や仕組みなどを理解しないといけなくなったので、それらも込でまとめた資料になります。 調べてみて、まだまだ分からないところがたくさんあるので、これからも継続的に勉強していきたいです。 (前提) ProcessとThread 歴史的な経緯を理解すると、腹落ちします。 Processしかなかった時代 OS(カーネル)の主要な仕事の一つに、複数の仕事をどう効率的に実行するかをマネジメントするというものがある。 この仕事(実行)の単位を表す概念がProcessで、Threadという概念自体がLinux 2.4以前ではなかった。 仕事をするには、そのためのリソース(CPUリソースや、メモリリソース)が必要です。 なのでこういうリソースも含めた仕事するために必要な塊がProcessです。 ただの概念上の存在な
![並行処理、並列処理のあれこれ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/008cc4a699e1839904259f484b4417bce86a669e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU0JUI4JUE2JUU4JUExJThDJUU1JTg3JUE2JUU3JTkwJTg2JUUzJTgwJTgxJUU0JUI4JUE2JUU1JTg4JTk3JUU1JTg3JUE2JUU3JTkwJTg2JUUzJTgxJUFFJUUzJTgxJTgyJUUzJTgyJThDJUUzJTgxJTkzJUUzJTgyJThDJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03NDhiYzJkMzMwZTQ5OGVhZGVlM2Y5ZTYwMzJlYmFmNA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwS29oZWk5MDlPdHN1a2EmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWQ5ZjVkNDhiNTAwNTQ3MTVhY2JlMTc3NGUyOGExNGI3%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Da11cd958dcc81b3b2160c531668d1c9f)