강의 url www.kocw.net/home/search/kemView.do?kemId=1046323 동기화에 대한 고전적인 문제에 대해 설명할 수 있다. 세마포어의 고전적인 문제에 들어가기 앞서 앞 포스팅에게 설명되었지만, 세마포어는 동기화를 구현하기 위한 추상적인 개념을 지원하기 위해 사용된다. P(S), V(S) 라는 operation을 통해 세마포어 변수 S에 대해 획득 및 해제를 할 수 있다. 셰마포어는 P 또는 V 연산에 대해 atomic 하다고 가정한다. 세마포어 변수는 Counting Semaphore 또는 Binary Semaphore 형태를 띌 수 있다. 어떠한 형태이든, 세마포어는 P와 V 작업을 통해 Critical Section을 관리하는데에 목적이 있다. 하지만 세마포어를 사용하..
강의 url www.kocw.or.kr/home/cview.do?mty=p&kemId=1169634 컴퓨터네트워크 인터넷을 동작시키는 컴퓨터네트워크 프로토폴을 학습한다. www.kocw.net 1) TCP flow control에 대해 설명할 수 있다. 2) TCP connection management TCP flow control TCP의 flow control이란, 두 Host 간 sender/receiver buffer의 capa에 맞게 통신 속도를 조절하는 것 이다. Host에서 receive를 수행할 때 receive buffer에서 Application Layer로 이동한다. Application Layer에서 프로그래밍 과제를 수행했던 것을 기억해보자. socket으로 부터 read를 수행..
url www.kocw.or.kr/home/cview.do?mty=p&kemId=1169634 이전 내용 요약 RDT를 배웠다. 그리고 역사상, RDT의 성능을 개선하기 위해 pipelined 방식으로 통신을 수행하게 되었다. Go-Back-N, Selective Repeat에 대해 배움. TCP : Overview 1. TCP는 Point-to-Point의 특성을 가진다. 한 프로세스가 여러 프로세스에게 전달하는 것이 아닌, 한 프로세스가 다른 한 프로세스에게 통신하는데 활용된다. 더 엄격히 얘기하면, 한 프로세스가 여러 개의 소켓을 열 수 있으므로, 소켓 to 소켓 통신을 책임진다. 2. Reliable, in-order delivery byte stream. 신뢰성있게 순서대로 전달된다. 3. pi..
이제까지 윈도우즈 클라이언트 어플리케이션을 만들다가, 진지하게 백엔드 어플리케이션을 배우면 뭔가 더 성장하지 않을 까 생각이 들었다. flutter 를 활용하여 모바일 클라이언트 프로젝트에 참여할 기회를 얻어 맛을 봤는데, 매력적이였다. 프로젝트가 끝난 시점에서, 나는 내 메인 영역인 윈도우즈 클라이언트의 wpf 만큼 framework를 잘 이해했다고 보긴 어렵다고 느꼈다. flutter를 사용했었지만 dart란 언어 자체와, flutter란 framework나, state management 개념이라던지 뭐 cubit,bloc ... 이런건 더 깊이를 쌓아가야하는데, 당장에 필요하거나 호기심이 가진 않는다. 현존하는 클라이언트 디바이스는 다양하고 디바이스 안에서 돌아가는 framework도, 아키텍쳐도..
강의 url www.kocw.net/home/search/kemView.do?kemId=1226304 1) 동기화의 문제에 대해 알아본다. 2) 동기화 문제의 해결 방법에 대해 알아본다. 데이터 접근과 Race Condition - 프로그램은 CPU에서 연산을 수행하고, Memory에 data를 기록한다. CPU를 Execution Box, 메모리를 Storage Box 라고 하자. Execution Box-Storage Box의 구도는 CPU-Memory 외에도 컴퓨터내부-디스크, 프로세스-그 프로세스의 주소 공간도 예가 될 수 있다. - 문제는 데이터를 한 프로세스에서 읽는 구조가 아닌, 여러 프로세스에서 읽는 구조가 되면 Race Condition이 발생할 수 있다. OS Level에서 Race C..
강의 url www.kocw.or.kr/home/search/kemView.do?kemId=1226304 1) CPU 스케줄링과 디스패처가 필요한 이유와 개념에 대해 알아본다. 2) CPU 스케줄링의 여러가지 알고리즘에 대해 알아본다. 3) CPU 스케줄링의 여러가지 알고리즘 중 멀티레벨 큐와 멀티레벨 피드백 큐에 대해 알아본다. 프로세스의 사이클 - 프로세스의 상태를 ready, running, blocked(=wait), suspended blocked, suspended ready 으로 5가지로 나눌 수 있다. CPU와의 관계로 Burst time 개념으로 단순화 하였을 때 다음 그림과 같이 표현할 수 있다. - 프로세스는 연산할 때 CPU를 필요로 하고, device를 제어할 땐 I/O가 필요한데..
강의 url) www.kocw.or.kr/home/cview.do?mty=p&kemId=1169634 1) 인터넷을 동작시키는 컴퓨터네트워크 프로토콜을 학습한다. 2) Multiplexing/Demultiplexing와 Error detection을 이해한다 3) UDP와 TCP의 특징을 이해하고, TCP의 RDT를 이해한다. 4) RTT의 문제를 개선하는 방법에 대해 알아본다. What is socket? - 어플리케이션 프로세스 들 끼리의 통신이므로, 결국엔 Client - Server 간의 통신이다. 결국엔 App이라, Application 사용자나 개발자 입장에서는 OS 내부의 구현을 건드릴 필요도 알 필요도 없다. 그러나 전문가의 입장에선 OS 내부로 들어가야 한다. - 개발자 입장에서는 OS가..
강의 url www.kocw.net/home/search/kemView.do?kemId=1226304 1) 프로세스의 상태 변화와 프로세스 중 CPU 수행 단위인 스레드에 대해 알아본다. 2) 프로세스의 생성에 있어 자식 프로세스가 부모 프로세스를 복제, 새로운 과정을 덮어씌우는 과정과 프로세스의 종료에 대해 알아본다. 3) 프로세스 생성과 종료에서 쓰이는 네 종류의 시스템 콜, 프로세스 간의 협력에 대해 알아본다. 1) 프로세스 상태도 Suspended 개념이 추가되면서 프로세스 상태도를 조금 더 자세히 그린 것이다. 1) active/inactive하다는 표현은 이전 강의(포스트 Process 1) 후반부에서 서술했듯이 프로세스가 일을 하느냐 안하느냐 에 따라 나뉜 것이다. 더 자세하게 말하면 메모리..
강의 url www.kocw.net/home/search/kemView.do?kemId=1226304 1) 프로그램의 실행 과정을 이해하고 커널이 가진 내용과 사용자 프로그램이 사용하는 함수를 알아본다. Keyword - 프로세스, 가상 메모리, Address transition, 프로세스의 주소 영역 및 커널 주소 영역 (data/stack/code) 2) 프로세스의 개념, 상태, 문맥과 운영체제가 프로세스를 큐에 넣고 관리하는 형태에 대해 알아본다. Keyword - 프로세스의 컨텍스트, Process status(running/ready/wait) 그리고 queue, PCB, Program counter, register, interrupt, 3) 스케줄러의 세 종류인 장기, 단기, 중기 스케줄러에..
강의링크 www.kocw.or.kr/home/cview.do?mty=p&kemId=1169634 전주 내용 요약 해주심 TCP/ UDP 패킷 기반 전송 - 라우트를 통해 이동함(series of routes) 패킷 기반 전송에서 4가지의 delay nodal processing - 비트에 에러가 있는지 없는지 검사 및 목적지로 도달하기 위해 어떤 link를 통해 가야할지 결정함. queueng - 다수의 사용자가 이용하게 되면 패킷 처리를 할 수 있는 라우트의 capa 보다 넘치게되 된다. 그러면 out going 으로 가기 전 queue 라는 공간에 대기하게 되고, queue도 넘치게 되면 패킷 유실이 발생한다. 패킷 유실의 대부분은 라우터에서 발생하며, 링크에선 거의 발생하지 않음. transimis..
- Total
- Today
- Yesterday
- Arena
- 최단경로 알고리즘
- 이산수학
- arena simulation
- flutter
- 그라파나
- 아레나 시뮬레이션
- 자바스크립트
- Simulation
- Propositional and Predicate Logic
- 아레나시뮬레이션
- 명제논리
- grafana cloud
- 로젠
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- 항해99
- Discrete Mathematics
- Trie
- 백준
- 아레나
- paul wilton
- 시뮬레이션
- 이산 수학
- rosen
- javascript
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 데이터 중심 애플리케이션 설계
- 자바스크립트 예제
- beginning javascript
- 대규모 시스템 설계 기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |