# Philosophers

42seoul:: Philosophers 문제
Subject 링크허용함수정리 링크\-Wall -Wextra -Werror -pthreaddata race를 보고싶다면 -fsanitize=thread -g를 추가프로세스 내부에 있는 CPU 수행 단위를 의미한다.프로세스는 운영체제로 부터 할당받는 작업의 단위이고, 쓰

[42seoul] Philosophers 철학자 키우기 + Bonus
재미있게 했던 과제인 Philosophers 과제에 대해 기제하고자 합니다.
[42-Seoul/Philosophers] 과제 소개 및 함수 사용법
Mandatory part : 스레드와 뮤텍스를 사용한 철학자의 구현 > memset, printf, malloc, free, write, usleep, gettimeofday, pthreadcreate, pthreaddetach, pthreadjoin, pthread

TIL 43일차 - [42서울] Philosophers(3)
필로소퍼의 Mandatory 파트가 스레드와 뮤텍스를 사용하는 과제였다면, Bonus 파트는 프로세스와 세마포어를 사용하는 과제다. 때문에 허용하고 있는 함수가 다르다! ✅ External Functs. > memset, printf, malloc, free, writ

TIL 42일차 - [42서울] Philosophers(2)
프로세스와 스레드에 대한 기본적인 내용은 TIL 32일차 - [컴퓨터공학] 운영체제 에서 한번 공부한 적이 있다. 운영체제에 대한 내용이 궁금하다면 링크를 보시길! 항상 그랬지만 오늘의 TIL도 의식에 흐름에 따라 적을 예정이다. 이 포스트는 Philosophers

[42Seoul] - philosophers
1.무엇을 하는 과제인가? : 프로그램을 어떻게 하면 더 효율적으로 사용할 수 있는지에 대해서 공부하는 과제이다. thread와 process를 사용해서 프로그램을 좀 더 빠르고 효율적으로 만들 수 있는 방법에 대해서 고민하는 과제이다. [Mandatory] -.위

[42서울] philosophers : 식사하는 철학자 문제
과제에서 허용하는 함수를 정리하고 나서, 이제 과제가 어떤 문제인지 공부가 필요할 것 같다. 식사하는 철학자(Dining Philosophers)는 전형적인 운영체제의 교착상태(Deadlock)를 설명하는 문제이다. 이번 과제는 교착상태를 뮤텍스와 세마포어를 활용해 해

TIL 41일차 - [42서울] Philosophers(1)
🤔 무슨 과제인가요? ✅ Description 필로소퍼! 는 철학자다. 다음은 철학자들이 프로그램에서 하는 행동이다. > 1. 한 명 이상의 철학자가 동그란 테이블에 앉아 테이블 한가운데 놓인 스파게티를 먹는다. > 2. 철학자는 먹고(eat), 자고(sleep),

[42서울] philosophers : 스레드와 스레드 함수 알기
이전에 정리했던 \[TIL : 42] 운영체제, 프로세스와 스레드와 멀티 스레드에 잘 정리되어 있다. 스레드가 여러 개일 경우, 공유자원 안의 동일한 자원에 동시에 접근하게 되면 데이터 무결성이 깨지게 된다. 엉뚱한 값을 읽거나 수정하게될 수 있다. 이렇게 동시에 접근
42 Philosophers (1)
process에서 어떤 특성(attr)을 가진 thread를 만들기 위해 사용하는 함수입니다. attr이 NULL이라면 기본특성이 적용됩니다. thread가 생성된 이후 attr이 변경되어도 적용되지 않습니다. 성공적으로 동작을 수행하였다면 thread를 특정할 수 있

[Philosophers] mutex를 활용한 monitoring 구조체 구축하기
Mutex란? 🦋 Philosophers repo address https://github.com/kyj93790/42-cursus/tree/master/Philosophers
philosophers bonus 프로세스간 통신
philosophers 과제의 bonus 파트는 철학자들을 process로 구현해야 하는데, process간 자원은 공유되지 않으므로 만약 한 철학자가 죽었을 경우 다른 철학자들에게 자신이 죽었음을 알릴 필요가 있다.이 통신 방법을 대부분의 사람들은 kill 함수로