본문 바로가기

전체 글294

자료형 - 데이터의 종류 typeof 연산자 : 뒤에 오는 값의 자료형을 반환해줌(return) const a = true, b = 12.5, c = "hi"; console.log(a, typeof a); // true 'boolean' console.log(b, typeof b); // 12.4 'number' console.log(c, typeof c); // hi string let d; console.log(d, typeof d); // undefined 'undefined' - 변수에 값을 할당하지 않았기 때문에 자료형으로 undefined 가 반환됨 d = null; console.log(d, typeof d); // null ⚠️자료형으로 'object' 반환 - object 라는 자료형은 따로 있지만 이를 수정하.. 2023. 3. 1.
프로세스 동기화(Process Synchronization) 프로세스 동기화(Process Synchronization) 협력하는 프로세스 사이에서 실행 순서 규칙을 정하여 공유 자원의 일관성을 보장하는 것이다. 프로세스가 협력하며 공유 자원을 사용하는 상황에 경쟁조건(race conditioin)이 발생하면 공유 자원을 신뢰할 수 없게 되는데, 이를 방지하기 위해 공유 자원 사용 시 특별한 규칙을 정하는 것이 프로세스 동기화이다. 경쟁 조건(Race Condition) : 여러 프로세스(또는 스레드)가 공유 자원에 동시 접근할 때, 공유 자원에 대한 접근 순서에 따라 실행 결과가 달라질 수 있는 상황 임계 구역(Critical Section) : 여러 프로세스(또는 스레드)가 자원을 공유할 때, 하나의 프로세스(스레드)만 접근 가능하도록 제한해둔 코드 영역 임계.. 2023. 2. 6.
동기(Synchronous)와 비동기(Asynchronous) 동기(Synchronous) 요청과 그 결과가 동시에 일어나는 약속이므로, 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주여져야 한다. 직렬적으로 task 를 수행한다. A 노드와 B 노드 사이의 작업 처리 단위를 동시에 맞춰야 한다. 장점 : 설계가 매우 간단하고 직관적이다. 단점 : 결과가 주어질 때까지 아무것도 하지 못하고 대기해야 한다. 비동기(Asynchronous) 요청과 그 결과가 동시에 일어나지 않는 약속이므로, 요청을 하면 결과가 그 자리에서 주어지지 않는다. 병렬적으로 task 를 수행한다. 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다. 장점 : 결과가 주어지는 동안 다른 작업이 가능하기 때문에 자원을 효율적으로 사용할 수 있다. 단점 : 동기보다 복잡하여 결.. 2023. 2. 6.
[운영체제] 스케줄러 스케줄러(Scheduler) : 한정적인 메모리를 여러 프로세스가 효율적으로 사용할 수 있도록 다음 실행 시간에 실행할 수 있는 프로세스 중 하나를 선택하는 역할을 수행한다. 가장 자주 사용되는 스케줄러는 장기 스케줄러와 단기 스케줄러이며 주로 일괄처리 시스템에 사용된다. 장기 스케줄러(Long Term Schedular) 작업 스케줄러, 승인 스케줄러 라고도 부른다. 디스크 내의 작업을 어떤 순서로 메모리에 가져올지 결정한다. 디스크와 같은 저장장치에 작업들을 저장해둔 후, 필요할 때 실행할 작업을 작업 큐에서 꺼내 준비 큐를 통해 메인 메모리에 적재한다. 장기 스케줄러에 의해 new 상태에서 ready 상태로 전이를 승인한다. 단기 스케줄러(Short Term Scheduler) 프로세스 스케줄러, .. 2023. 2. 5.