분류 전체보기
-
자바스크립트 입문코드잇 부스트 2024. 5. 16. 13:04
이번 챕터에선 자바스크립트의 기본적인 문법과 사용법에 대해 정의한다. 세미콜론JS에서는 세미콜론으로 문장의 종료를 명시함.JS의 경우 한라인의 끝에 세미콜론을 자동으로 추가해주기 때문에 필수는 아님(명시하는 것이 권장사항).주석//로 주석을 작성할 수 있음.코드의 역할, 의도 등을 기록할 수 있음.자료형 개요숫자 (정수, 실수)문자열불린추상화복잡한 것을 단순화하여 필요한 핵심만 보여주는 방법.사용할 경우 가독성이 좋아져 소통이 쉬워짐.변수반복되는 구체적인 값을 변수로 담을 수 있음.오타나 오류 등 유지 보수 측면에서 실제 값을 이용하는 것보다 뛰어남.JS 작명가이드JavaScript 식별자는 '문자(a-z, A-Z)', '밑줄(_)' 혹은 '달러 기호($)'로 시작, 2번째부터 숫자도 가능.'대문자'와 ..
-
네트워크 9주차: Net) IPv4, CIDR교내 강의/컴퓨터 네트워크 2024. 5. 15. 23:03
IP(Internet Protocol) Layer:ip datagram format:Version: 4가 옴(0100)Head Len: 길이/4로 표현TOS: 해당 datagram의 혼잡 여부, 우선순위, 신뢰성, 처리량 등의 정보를 담고 있는 필드이다. 8비트로 이루어져 있다.Length: payload를 합친 전체 길이Identification & IP Flags & Fragment Offset: 최대 전송단위가 정해져 있기 때문에 쪼개서 보내는데 그를 알아 볼 수 있게 해주는 것들. Identification: 쪼개진 네트워크 패킷의 ID(쪼개진 패킷의 그룹을 알 수 있게함) IP Flags: D(Don't Fragmentation)(데이터를 안쪼개서 보내겠다, 거의 안..
-
OS: Semaphoreos 운영체제 2024. 5. 5. 19:44
Semaphore:세마포어의 작동 원리는 상호 배제 알고리즘(Mutual Exclusion Algorithm)에 기반한다. 구성: 세마포어 변수 S, P(wait) 연산, V(signal) 연산으로 구성되어 있다. 세마포어 변수 S는 P와 V라는 명령에 의해서만 접근할 수 있다. s를 수정하는 연산은 모두 원자성을 만족해야한다. P는 임계 구역에 들어가기 전에 수행되고, V는 임계 구역에서 나올 때 수행된다.이진형 세마포어(binary semaphore): 0 또는 1을 가진다. 즉, 1개의 공유 자원을 상호배제하며 이를 이용해 계수 세마포어를 구현할 수도 있다.계수형 세마포어(counting semaphore): 0과 양의 정수값을 가질 수 있따. 여러개의 공유 자원을 상호배제할 ..
-
컴퓨터 네트워크 9주차: Net) VC, Router교내 강의/컴퓨터 네트워크 2024. 4. 30. 15:37
Network(IP) Layer:sender : 일명 송신자, segment를 datagram으로 캡슐화(encapsulate)하여 링크 계층으로 보내는 사용자receiver : 일명 수신자, 송신자가 보낸 datagram을 받아 전송 계층으로 보낸다. router : IP datagram의 헤더 부분을 조사하여 이 데이터그램이 목적지로 가기 위해서 어느 link로 가야 하는지 적절하게 내보내는 역할 Forwarding: Router input에서 output으로 패킷을 보내는 것. (하나의 라우터 통과) (dest가 결정한다.)Routing: source에서 dest로 어떤 루트로 갈지 결정. data plane : local, per-router function. 라우터의 input port로..
-
컴퓨터 네트워크 7주차: Handshake, Flow Control, Congestion Control교내 강의/컴퓨터 네트워크 2024. 4. 19. 14:55
Flow Control: sender는 receiver를 놀래키면 안된다. buffer overflow가 생기지 않도록 보장함. receiver는 TCP 헤더에 free buffer space를 rwnd로 넣어서 보냄. In-flight(unacked) Data Establised됨. Congestion Control: Flow control은 end-to-end Congestion Control은 라우터 범위. Scenario 1) 라우터 버퍼가 무한한 경우: 람다in이 특정 수치를 넘어서면 람다out은 수렴하고 딜레이는 끝 없이 늘어남. (bottle neck) Scenario 2) 라우터 버퍼가 유한: 람다in은 패킷copy를 보냄 (client는 드랍의 유무를 알 수 있음) 드랍된 경우 재전송, ..
-
-
OS: 프로세스 동기화(Process Synchronization)os 운영체제 2024. 4. 15. 11:39
더보기용어원자성(Atomicity) - 어떤 메소드(Method)를 2개 이상의 쓰레드가 동시에 호출하지 못하는 것을 말한다.동기화 - 스레드 간의 협력을 보장하기 위한 원자(indivisible)작업을 사용하는 것.Mutual exclusion - 한 번에 하나의 스레드만 Critical Section 사용, 다른 모든 스레드는 해당 활동에서 제외.Critical Section - 한 번에 하나의 스레드만 실행할 수 있는 코드(예: 공유 데이터를 수정하는 코드)lock - 다른 스레드가 작업을 수행할 수 없도록 하는 메커니즘: critical section에 들어가기 전에 잠금. critical section을 떠날 때 잠금 해제 잠긴 critical section에 들어가려는 스레드는..
-
os: 프로그램 실행 시 메모리의 구조os 운영체제 2024. 4. 14. 21:53
메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 함. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요함. 따라서 OS는 프로그램에게 대표적으로 4가지 메모리 공간을 제공함. 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 힙(heap) 영역 코드(텍스트) 영역 실행할 프로그램의 코드가 저장되는 영역 CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 됩니다. 데이터(data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역입니다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸합니다. 스택(stack) 영역 함수의 호출과 관계되는 지역 변수와 매..