Skip to content
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

2주차: 스레드와 프로세스 #2

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

2주차: 스레드와 프로세스 #2

wants to merge 1 commit into from

Conversation

nowgnas
Copy link
Member

@nowgnas nowgnas commented Jan 5, 2025

No description provided.

Copy link

github-actions bot commented Jan 5, 2025

Automated Review

Feedback for file: week2/sangwon/sangwon.md
공부하신 내용이 기본적으로 스레드와 프로세스에 관한 이해를 잘 정리하고 있는 것 같습니다. 여기에서 몇 가지 피드백과 추가적인 공부할 내용을 제안해 드리겠습니다.

피드백

  1. 프로세스 설명: 프로세스에 대한 설명은 매우 명확합니다. 하지만 프로세스가 운영 시스템 리소스(예: 파일 핸들, I/O 디바이스 등)와의 상호작용을 어떻게 하는지에 대한 추가적인 설명이 포함되면 좋습니다.

  2. 스레드 설명: 멀티 스레드 환경에서의 이점(작업 분할과 병렬 처리로 인한 성능 향상 등)과 리스크(경쟁 상태, 데드락 등)에 대해 추가적으로 언급할 수 있습니다.

  3. 스케줄링: 스케줄링 방식에는 여러 종류가 있음을 언급할 수 있습니다. 예를 들어, 라운드-로빈, 우선순위 기반, 다단계 큐 스케줄링 등 다양한 방식을 공부해 볼 수 있습니다.

  4. 컨텍스트 스위칭: 컨텍스트 스위칭의 '비용'에 대해 구체적인 예시를 들어 설명하면 이해가 더욱 쉬워질 수 있습니다. 예를 들어, 캐시 메모리 적중률 저하, 파이프라인 초기화 등의 비용을 언급할 수 있습니다.

추가 공부 제안

  1. 스레드 안전성(Thread Safety): 스레드 분할을 이용하여 효율을 높이는 경우, 여러 스레드가 동시에 같은 데이터에 접근하지 않도록 관리하는 기법에 대해 공부할 수 있습니다.

  2. 동시성과 병렬성: 혼동하기 쉬운 동시성(Concurrency)와 병렬성(Parallelism)의 차이에 대해 학습하고, 두 개념을 이용한 프로그래밍 방식에 대하여 학습할 수 있습니다.

  3. 스케줄링 알고리듬: 다양한 스케줄링 알고리듬의 장단점을 비교하며 심층적으로 공부할 수 있습니다. 실시간 시스템에서 사용되는 스케줄링 방법 등도 포함하면 좋을 것입니다.

  4. 운영 체제 커널: 스레드와 프로세스 관리가 운영 체제의 핵심 기능 중 하나입니다. 커널 모드와 유저 모드의 차이점, 시스템 콜의 역할 등 운영 체제의 깊은 이해를 위한 학습을 진행해보세요.

이러한 주제들은 시스템 프로그래밍이나 운영 체제 설계에 대한 이해를 깊게 하고 실용적인 소프트웨어 개발에 큰 도움을 줄 것입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant