# synchronization

26개의 포스트
post-thumbnail

핀토스 구현: Priority Scheduling and Synchronization

여러 thread가 lock, semaphore, condition variable을 얻기 위해 기다릴 경우 우선순위가 가장 높은 thread가 CPU를 점유하도록 구현해야 한다.

4일 전
·
0개의 댓글
·
post-thumbnail

[Operating System] Synchronization Examples

producer and consumer processes가 공유하는 자료 구조들 : \- int n; \- semaphore mutex = 1 : Buffer에 하나의 프로세스만 접근 가능 \- semaphore empty = n, \- semapho

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

[Operating System] Synchronization Tools - Background

앞선 예시로 원형 큐가 있었는데, BUFFER_SIZE - 1개만 담을 수 있었다. 이 문제를 해결하기 위해 count라는 변수를 사용해서 해결할 수 있다.producer processconsumer process각각은 괜찮아 보이지만, 동시에 실행되었을 때 문제가 발

2023년 3월 16일
·
0개의 댓글
·
post-thumbnail

[Redis] 분산락(Distribution Lock) 을 구현해 다중화 서버에서 발생하는 동시성 문제 제어하기

동시에 대규모 트래픽 요청이 들어와서 Race Condition 이 발생한 경우, Redis 로 분산락을 구현해서 오차없는 트래픽 처리를 해보자! 🧐

2023년 3월 3일
·
4개의 댓글
·
post-thumbnail

[운영체제] Synchronization (3) - Spin lock과 Mutex lock, Mutex와 Semaphore

lock을 잡기 위해 오랜 시간을 기다려야 할 것 같으면 다른 작업을 동시에 진행할 수 있다. busy waiting 하지 말고, blocking 되어 기다리자.자원을 단시간에 얻을 수 있게 되는 경우 차라리 spin lock이 효과적이다.

2023년 1월 6일
·
0개의 댓글
·

[운영체제] Synchronization (2) - Spin lock, Busy waiting, Test-And-Set, Compare-And-Swap

잡으려는 lock이 avaliable 해 질 때 까지 계속 루프를 돌며 진입을 재시도한다. 이른바 바쁘게 기다리는 busy waiting의 한 종류이다. lock을 잡기 위해 다른 작업을 수행하지 않고 계속해서 기다리는 경우

2023년 1월 6일
·
0개의 댓글
·

[운영체제] Synchronization (1) - Race Condition, Critical Section

두 개 이상 프로세스/스레드가 shared resource에 동시에 concurrent하게 접근함으로써 결과 값이 확정 되지가 않고, 그때 그때 실행할 때마다 조금씩 바뀌는 현상

2023년 1월 6일
·
0개의 댓글
·
post-thumbnail

[OS] 6-1) Process Synchronization (Concurrency Control) 1

데이터가 저장된 곳이 있을 거고, 프로그램은 그걸 가져와서 연산하고, 다시 특정 위치에 저장하는 방식이다. 딱 이것 때문에 synchronization문제가 발생한다. 그 특정 위치들에 동시에 접근하려고 하기 때문이다.Storage는 데이터가 들어있는 저장 공간, ex

2022년 11월 22일
·
0개의 댓글
·

운영체제 6장. Synchronization Tools

여러 개의 프로세스가 동작하게 되면, 이들간 동기화를 해 주어야 한다. 이 때 사용하는 것이 synchronization tool이다. 어떤 상황에서 프로세스 간 동기화가 필요한가?

2022년 11월 13일
·
0개의 댓글
·
post-thumbnail

[Java] 멀티 Thread 프로그래밍에서의 동기화

critical section은 두 개 이상의 Tread가 동시에 접근하는 경우 문제가 생길 수 있기 때문에 동시에 접근할 수 없는 영역이다.semaphore는 특별한 형태의 시스템 객체이며 get/release 두 개의 기능이 있다.한 순간 오직 하나의 Thread만

2022년 8월 12일
·
0개의 댓글
·
post-thumbnail

[Onboarding] : 동기화

코드를 작성하다보면 공유 자원에 여러 쓰레드가 동시에 접근하는 상황을 고려해야 할 때가 있다.예를 들어, 특정 메소드를 복수의 쓰레드가 동시에 실행하는 경우를 생각해보자. 해당 메소드에서 객체의 필드를 동시에 읽거나 쓰는 상황이 발생한다면 메소드 실행 결과가 달라질 수

2022년 7월 6일
·
0개의 댓글
·
post-thumbnail

Swift Concurrency: Behind the scenes Part. 02

앞에서는 Swift concurrency가 어떻게 동작하는지 확인했다. 이번에는 Swift concurrency를 채택할 때 주의해야 하는점, 그리고 Actor를 통한 Synchronization에 대해 알아보자.

2022년 6월 29일
·
0개의 댓글
·
post-thumbnail

자바 스레드 동기화

Java는 synchronized 키워드를 사용해 접근 제어를 한다.클래스 하나당 하나의 스레드만 접근 허용}인스턴스 하나당 하나의 스레드만 접근 허용포함된 블럭의 제어자에 따라 적용됨synchronized(this){} 는 어떤 메서드가 되었든 그 객체 전체를 loc

2022년 3월 4일
·
0개의 댓글
·
post-thumbnail

[Java] 쓰레드의 동기화(synchronization)

멀티 쓰레드 프로세스에서는 다른 쓰레드의 작업에 영향을 미칠 수 있다.진행중인 작업이 다른 쓰레드에게 간섭받지 않게 하려면, '동기화'가 필요하다.쓰레드의 동기화 : 한 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하게 막는 것동기화하려면, 간섭받지 않아야 하는

2022년 1월 24일
·
0개의 댓글
·

프로세스 동기화

프로세스들은 작업을 진행하며 서로 데이터를 주고 받아야 하는 경우가 생깁니다. 프로세스끼리 통신을 하는 경우 누가 먼저 작업할지, 언제 작업이 끝날지 등을 서로 알려주어야 하는데 이를 "동기화"라고 합니다. 프로세스 간 통신 프로세스는 시스템 내에서 독립적으로 실행되기

2021년 10월 30일
·
1개의 댓글
·
post-thumbnail

OS [OS]Process Synchronization(Problem, DeadLock and Starvation, Semaphore)

이 글은 KOCW에 공개되어있는 '반효경 교수님'의 운영체제 강의 및 강의 교재 Operation System Concepts(a.k.a 공룡책🦕)의 내용을 기반으로 작성했습니다.이번 챕터에서는 Process Synchronization에 관해 정리해보겠습니다오류가

2021년 8월 7일
·
0개의 댓글
·

TIL (21/06/16)

Java Synchronized 핵심: Method에 거는 syncronized 키워드는 해당 함수가 포함된 객체(this)에 Lock을 거는 것과 같다. #1 서로 다른 Thread로 call() 함수를 호출하지만, synchronized 키워드의 객체락으로 인해 T

2021년 6월 16일
·
0개의 댓글
·

[210507] CriticalSection(Thread Synchronization)

Thread Synchronization의 CriticalSection 사용법

2021년 5월 7일
·
0개의 댓글
·