내식대로 정리 좁은 대역폭을 갖는 신호는 잡음에 굉장히 큰 영향을 받는다. 그렇기 때문에 잡음에 강한 신호를 만들기 위해서 대역을 확산시켜서 좁은 대역을 넓은 대역으로 만들어서 전송하게 된다. 그렇게 되면 특정 주파수에 간섭이 생기더라도 다른 넓은 주파수에 그 신호의 데이터들이 퍼져있으므로 상대적으로 그 간섭은 무시되게 되면서 잡음에 강한 신호가 만들어 지는것이다. spread spectrum에는 두가지 방식이 있는데첫번째는 DSSS(Direct Sequence Spread Spectrum)방식이다. 이 방식은 내가 보내려고하는 데이터에 확산 코드열을 XOR시켜서 전송 하게 된다 그렇게 되면 0이라는 신호를 보내고 싶을때 확산 코드열이 01011일 경우에 00000와 01011 을 xor한 결과인 010..
OFDM을 설명하면서 빼먹은 것들이 몇 개 있는데요..이제 하나씩 채워볼려고 합니다..그래야 LTE 프레임 구조를 잘 설명할 수 있을 것 같아서요..사실 저도 대학원때 배운거라 내용이 긴가민가하고 잘 기억도 나지 않아서거의 처음부터 새로 공부하는 기분이네요.. 일단, OFDM으로 잠시 돌아가보죠.OFDM은 frequency의 orthogonality를 이용하여 각 신호를 구분하는 방식입니다.그리고 그 장점중에 하나가 multi-path 환경에 강하다고 했었는데요,이 부분을 좀 더 자세히 볼 필요가 있겠네요. 일단 어렸을 때 대중 목욕탕에 갔었던 기억을 되살려봅시다..요즘은 목욕탕이 넓고 좋아져서 그런지 잘 못느끼겠더라구요..아니면 혼자 다녀서 그런가.. 어쨌든.. ㅋ아버지와 아들이 대화한다고 생각해 봅시..
식사하는 철학자 문제철학자들은 생각하거나, 밥을먹거나, 배가고프거나 3가지 상태를 가질 수 있다.철학자들은 밥을 먹을때 왼쪽 포크와 오른쪽 포크를 각 손에 하나씩 들어야 식사를 할 수 있다.하지만 사람이 5명인데 포크는 5개밖에 없다. 그래서 최대 2명만 동시에 밥을 먹을 수 있다. 프로세스가 어떤 공유자원(여기선 포크)을 가지고 아무한테도 주지 않으면서 다른 프로세스의 공유자원을 달라고 요구하게 되면 데드락이 발생 할 수 있다. 이 문제가 그런데, 이것을 해결하기 위해서 세마포어를 사용해야 한다. mutex라는 이진 세마포어를 활용해서 포크를 손에 쥐는 행위를 하는것을 한 시점에 한 사람만 가능하게끔 해주고각 프로세스 별로 세마포어를 또 따로 두어서 최대 2명까지 식사를 하게끔 해주어야 한다.(s[i]..
비동기적으로 생산되는 여러 프로세스들을 동기화 시켜주기 위한 도구로 세마포어를 사용한다. 즉, 어떤 문에 입장할수 있는 인원은 한명인데 여러명이 입구에서 대기를 하는 와중에 통제하는 사람이 한명씩만 입장 시키는 상황이다. 그 역할을 하는게 세마포어이다. 신호등 or 신호기 라는 뜻을 가지고 있다고 한다. 세마포어는 int,char처럼 어떤 한 자료형이고 추상적이다. 세마포어는 down,up이라는 두 연산을 통해서만 값을 변경할 수 있다. 세마포어는 커널에 저장된 변수이며, 시스템콜(down,up)을 통해서만 값을 수정할수있다. down-> 세마포어 값이 0이면 프로세스를 블락시킨다(잠들게 한다)-> 그렇지 않으면 값만 감소시키고 하던일 그대로 진행시킨다.up-> 블락된 프로세스가 있다면 그 프로세스를 깨..
생산자가 유한한 용량을 가진 버퍼에 아이템을 생산해서 가져다 놓고 소비자는 그 아이템을 소비한다고 가정하자. 1. 소비자가 if(count==0)을 실행하자마자 스케쥴링이 일어나서 생산자가 cpu사용권을 획득했다.2.생산자는 아이템을 생산하고 공유변수인 count를1증가시킨후에 자고 있지도 않은 소비자를 깨운다.3. 아무일도 일어나지 않은 상태로 다시 스케쥴링이 일어나서 소비자가 sleep()을 실행해서 잠에 든다.4. 그리고 다시 스케쥴링이 일어나서 생산자 프로세스가 실행되면 생산자는 count값이 2부터 시작해서 계속 증가하게 된다.5. 생산자는 버퍼가 꽉찰때까지 (N이 100이 될때까지) 계속 생산하다가 count == N을 만족해서 잠이든다.6. 결국에는 생산자 소비자가 둘다 잠에 든다는 문제가 ..
상호배제의 조건 3가지1. 임계구역 밖에 있는 어떤 프로세스도 다른 프로세스의 임계구역으로의 진입을 막아서는 안된다.(가드)2. 임계구역에는 단 하나의 프로세스만 들어갈 수 있다.(1명만 입장)3. 임계구역에 들어가려고 무한히 대기해서는 안된다. (무한대기) 병행 프로세스의 문제점들 1. 프로세스간 동기화 문제 -> 여러개의 프로세스가 공유 자원을 동시에 사용할 수 없게끔 프로세스끼리 입장 순서를 맞춰서(동기화) 임계구역에 입장해야 한다.2. 결정성 문제 -> 프로세스의 수행 순서에 따라 결과값이 달라지면 안된다.3. 교착 상태 문제 -> 상호배제와 동기화문제를 해결하지 못해 프로세스들이 아무것도 못하게 되는 상황을 막아야 한다. 동기화, 데드락, 결정성 상호배제를 해결하기 위해 세마포어와 모니터 사용 ..
public class Node {int data;Node next;public Node(int data) {this.data = data;next = null;}public int getData() {return data;}public void setData(int data) {this.data = data;}public Node getNext() {return next;}public void setNext(Node next) {this.next = next;} } import java.util.Scanner; public class LinkedList {Node head;boolean find(int data){Node current = head;while(current != null){if(curr..
세마포어는 추상적인 자료형이다. 세마포어는 신호등이라는 뜻이며, 비동기적으로 생성되는 여러 프로세스들을 동기화 시키는 역할을 한다.다시 말하면 비규칙적으로 생성되는 여러 프로세스들을 신호등을 통해서 일렬로 들어오게끔 규칙적으로 순서를 맞춰주는 역할을 한다. 세마포어에는 두가지 연산이 존재한다 wait와 signal인데 p,v연산이라고도 한다. wait는 세마포어의 값을 1개 깎으며 만약에 값을 깎았는데 그 값이 음수라면 대기큐(빨간불이라 차가 대기중인것과 같음)에 넣는다. signal은 세마포어 값을 1 증가 시키는데 만약 세마포어의 값이 음수여서 임계구역에 들어가려고 하는 프로세스가 대기중이었다고 했을때보통 프로세스가 블락된 상태로 대기하게 되는데 이제 임계구역으로 들어가도 좋다고 깨우는 역할을 한다...
- Total
- Today
- Yesterday
- hydrate
- webpack
- react
- reflow
- state
- server side rendering
- design system
- es6
- useEffect
- useRef
- props
- Action
- Polyfill
- return type
- reactdom
- type alias
- javascript
- react hooks
- await
- reducer
- atomic design
- mobx
- rendering scope
- typescript
- Babel
- computed
- promise
- Next.js
- async
- storybook
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |