전체 글 (70) 썸네일형 리스트형 SQL_데이터 모델링의 이해 모델링이란? 데이터 베이스에서의 모델링이란 '현실 세계를 단순화하여 표기하는 기법'이다. 특징 추상화(Abstraction) : 현실 세계를 일정한 형식으로 표현한것. 즉, 아이디어나 개념을 간략하게 표현하는 것이다. 단순화(Simplification) : 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미이다. 명확화(Clarity) : 불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미이다. 모델링의 세가지 관점 데이터 관점(What, Data) : 데이터 위주의 모델링으로 어떤 데이터들이 업무와 얽혀있는지, 그리고 그 데이터간에 어떤 관계가 있는지에 대해 모델링하는 방법 프로세스 관점(How, Process) : 프로세스 위주의 모델링으로 이 업무가 실제로 처리하고 있는 .. Process Synchronization2 Semaphores 앞의 방식들을 추상화시킴 Semaphore S integer variable 아래의 두 가지 atomic 연산에 의해서만 접근 가능 S가 5일때 P연산을 하면 자원을 하나 가져가고 V를 하면 반환. 즉, P = lock, S = unlock Critical section of n Processes Synchronization variable semaphore mutex; // initially 1 Process Pi busy - wait 방식은 효율적이지 못함(= spin lock) Block & Wakeup 방식의 구현(= sleep lock) Block & Wakeup Implementation Semaphore를 다음과 같이 정의 Block & Wakeup 을 다음과 같이 가정 .. Process Synchronization1 공유 데이터(shared data)의 동시 접근(concurrent access)은 데이터의 불일치 문제(inconsistency)를 발생시킬 수 있다. 일관성(consistency)유지를 위해서는 협력 프로세스 (cooperating process)간의 실행 순서(orderly execution)을 정해주는 메커니즘 필요 Race Condition 여러 프로세스들이 동시에 공유 데이터를 접근하는 상황 데이터의 최종 연산 결과는 마지막에 그 데이터를 다룬 프로세스에 따라 달라짐 S-Box(Memory address space) 를 공유하는 E-Box(CPU-Process)가 여럿 있을 경우 Race Condition의 가능성이 있음 ( -> count = 5일때 각 E-Box가 연산 후 저장할때 4,6 .. 이전 1 2 3 4 5 6 ··· 24 다음