# Semaphore

Operating System Ch14: Semaphore
lock을 사용하는 이유 → Mutual exclusion그리고 이러한 lock을 지금까지는 spinlock으로 구현했다...spinlock의 단점1번에 1개의 thread만이 들어올 수 있다.아니 그럼 critical section에 한명만 들어와야지!이야기를 더 들
[Async]. 비동기 요청 제한하기
우리 챗봇 서비스는 생성 AI를 사용하여 응답을 제공한다.ChatGPT와 HyperClova를 사용한다.부하 테스트를 하는 도중 네이버 HyperClova에 Request를 보냈을때초당 4개가 넘으면 "Too many request" 에러가 발생되었다.현재 테스트앱말고

Spring 세마포어를 통한 동시성 문제 해결
동시성 테스트 결과를 보면 하나의 책에 여러개의 신청이 생긴 것을 알 수 있다.\-> 동시성 문제가 발생한 것을 알 수 있다.즉 다수의 사용자들이 동시에 이벤트에 참여해서 동일한 책을 신청하면 동시성 오류가 발생한다.하나의 책은 한 사람에게만 기부 될 수 있는데 여러사
Thread의 기본
대용량 처리를 하는 데 있어서 쓰레드를 공부해야 되는 것은 필수라고 생각된다. 해당 사용되는 라이브러리를 먼저 사용하는 것보다 동작 원리를 먼저 파악해야 된다는 것을 인지하고 기초부터 알아보고자 한다.

Multi process/ thread 환경의 동기화 문제
🤓오늘의 공부 주제: Multi process/ thread 환경의 동기화 문제🤓 Q. multi process환경에서 process간에 데이터를 어떻게 주고 받는가? > A. 원칙적으로 process는 독립적인 주소 공간을 갖기 때문에, 다른 process의 주

[PL] Ch13. Concurrency
양승민 교수님의 '프로그래밍 언어' 수업을 기반으로 정리한 개념 노트. 참조 교재 : Concepts of Programming Languages - Robert W.Sebesta

Thread의 safety와 unsafety - [AI + 웹개발 취업캠프, 정보통신산업진흥원(NIPA)]
동시에 여러 스레드가 동일한 데이터에 접근할 때(다중 스레드 환경에서) 데이터의 일관성이 유지되는 것다중 스레드 환경에서 프로그램의 실행에 문제가 없는 것Thread-sate하다라는 의미는 두 개 이상의 스레드가 race condition에 들어가거나 같은 객체에 동시

Process Synchronization
race condition, ciritical section, deadlock, semaphore, mutex, monitor에 대해 정리한 글이다.

CS - 운영체제(5) 프로세스 동기화
데이터를 가져와 연산 하고, 연산 결과를 다시 반환한다.컴퓨터 구조에서 배운 방식을 떠올리면된다.여럿의 프로세스(CPU)가 하나의 저장장치를 공유하면, 문제가 생길수 있다.같은 메모리를 공유하는 멀티 프로세서 시스템공유 메모리를 사용하는 프로세스들커널 내부 데이터를 접
뮤텍스(Mutex)와 세마포어(Semaphore)
뮤텍스는 여러 프로세스/스레드를 실행하는 환경에서 자원에 대한 접근에 제한을 강제하기 위한 동기화 매커니즘이고, 어떠한 오브젝트를 소유한 프로세스/스레드만이 공유자원에 접근할 수 있습니다.

[42seoul] Philosophers 철학자 키우기 + Bonus
재미있게 했던 과제인 Philosophers 과제에 대해 기제하고자 합니다.

[CS] IPC 세마포어
이 구조는 semid_ds 유형 이며 다음과 같이 linux/sem.h 에 정의되어 있습니다.sem_perm이것은 linux/ipc.h 에 정의된 ipc_perm 구조 의 인스턴스입니다 . 여기에는 액세스 권한 및 세트 생성자에 대한 정보(uid 등)를 포함하여 세마포

[Operating System] Synchronization Tools (2)
hardware수준에서 구현하는 것 -> application 개발자들에게 너무 어려움. -> operating-system designers build higher-level software tools to solve the critical-section proble
[Note] Semaphore V4 researches
membership proof + nullifier hash를 zkSNARK circuit에 private key를 제공하지 않고 wallet에서 안전하게 생성할 수 있는가?unique(per identity and message), deterministic, anon

프로세스 동기화 문제
해당 게시글은 kocw에서 제공하는 금오공과대학교 최태영 교수님의 무료 강의를 공부하고 정리하기 위해서 만들어졌습니다.세마포어를 사용하면서 발생하는 문제점들이 있다.Deadlock여러 프로세스 여러 세마포어를 동시에 waiting 하는 상황이 발생할 때, 무한정 기다리

[운영체제] Synchronization (3) - Spin lock과 Mutex lock, Mutex와 Semaphore
lock을 잡기 위해 오랜 시간을 기다려야 할 것 같으면 다른 작업을 동시에 진행할 수 있다. busy waiting 하지 말고, blocking 되어 기다리자.자원을 단시간에 얻을 수 있게 되는 경우 차라리 spin lock이 효과적이다.

[Common] Multiple Fetch 병목 현상 해결 with Semaphore
최근 프로젝트에서 아래의 그림과 같이 서버에서 받은 값을 계산하고 계산 값을 바탕으로 주기적으로 서버에 Audit을 요청하는 프로그램을 개발했습니다.기존 시나리오는 하나의 프로그램에서 하나의 Audit만을 수행하려 했으나, 사용자의 편의성 개선을 위해 무제한 Audit

교착상태(Dead Lock)
경쟁상태(Race Condition) : Thread / Process의 타이밍에 따라 결과값이 달라질 수 있는 상태임계영역(Critical Section) : Thread / Process가 동시에 접근해서 안되는 곳Critical Section을 동시에 수행하지 않