함수 호출 규약 (x86, x64)
·
CS/Computer Architecture
Calling Convention | 함수 호출 규약함수 호출 규약 : 함수의 호출 및 반환에 대한 약속한 함수에서 다른 함수를 호출할 때 프로그램의 실행 흐름이 다른 함수로 이동한다. 이 호출된 함수가 반환되면 다시 원래의 함수로 돌아와서 기존의 실행 흐름을 이어나간다. 이때 호출하는 함수를 호출자(caller), 호출되는 함수를 피호출자(Callee)라고 한다. 호출자는 피호출자가 요구하는 파라미터를 전달해줘야하고, 실행이 종료되면 반환 값을 전달받아야한다.  Segment word sizeCalling ConventionParameters in registerStack cleanup by32bits__cdecl Caller__stdcall Callee__fastcallecx, edxCallee__t..
부팅과 부트로더
·
CS/OS
부팅PC가 켜진 후에 OS가 실행되기 전까지 수행되는 일련의 작업 과정 의미프로세서 초기화 (멀티코어 관련 처리 포함)메모리와 외부 디바이스 검사 및 초기화부트로더를 메모리에 복사하기OS를 시작하는 과정BIOS (Basic Input / Output System) : 하드웨어와 관련된 부팅 작업POST (Power On Self Test) : BIOS가 수행하는 각종 테스트나 초기화 BIOS메인보드에 포함된 펌웨어(Firmware)의 일종입출력을 담당하는 작은 프로그램PC 메인보드에 롬(ROM)이나 플래시 메모리로 존재전원이 켜지면서 동시에 프로세서가 가장 먼저 실행하는 코드부팅 옵션 설정시스템 전반적인 설정 (Configuration) 관리설정 값으로 시스템을 초기화하여 OS 실행BIOS가 제공하는 기..
운영 모드
·
CS/OS
x86-64 프로세서 (인텔 64비트 호환 프로세서)에는 다섯 가지의 운영 모드가 존재한다. 컨트롤 레지스터와 인터럽트를 통해 각 모드로 전환할 수 있다.   다섯 가지 운영모드가 모두 구현되어야만 OS를 만들 수 있는 것은 아니다. 목적에 따라 몇개의 운영모드는 구현하지 않거나 필요하면 구현하는 방식으로 진행할 수 있기 때문에, 이 중에서도 필수모드와 선택 모드로 구분된다.  운영 모드필수 운영 모드리얼모드프로세서가 전원이 켜지거나 리셋되면 프로세서는 리얼모드로 진입함 (이전에 어떤 상태인지는 상관 없음)16비트 프로세스와 동일하게 동작BIOS(Basic Input Output System)의 여러 기능을 사용할 수 있음 => 디스크 읽기 및 쓰기, 그래픽 모드 전환 등 제공디바이스 드라이버를 제작하지..
SSC
·
CS/Algorithm
SSC : Strongly Connected ComponentSCC : Maximul Subset of Nodes s.t., all Nodes are Reachable from Each OtherHow do you find them?Strongly Connected라는건, 양쪽 방향으로 가는 길이 있다는 것이다.어디서 잡든 다른 노드로 가는 길이 있고, 다시 돌아오는 길이 있다. SSC의 간단한 예시는 cycle 한 노드가 여려 곳에 속하지는 않음만약, 두개의 SCC가 한 노드를 공유한다고 생각하자. -> 그러면 결국 이 두개는 한개의 SCC이다. 따라서 두 컴포넌트가 그냥 합쳐지기 때문에 한 노드를 공유하는 순간 하나의 SCC가 된다.  Let's DFSDFS를 해서 Tree 가 여러개 나왔다고 가정하..
Randomized Algorithm
·
CS/Algorithm
랜덤에 대한 간단한 이야기항공 모함에 비행기가 착륙할 때, 줄에 걸려서 착륙하게 되어있다. 이 줄에 잘 걸리는 비행기와 잘 걸리지 않는 비행기가 존재하기 때문에 이 줄의 간격을 다양하게 한다. Randomized QuickSortQuicksort? pivot을 잡은 후, pivot보다 작은 값과 pivot보다 큰 값으로 나눠 생각하는 것 For any deterministic QuickSort Alogrithm there exist Classes of Inputs which the Algorithm takes O(N\(^2\)) TimeThe Average was taken over all possible inputsAll my inputs could be in the classcan you make t..
[Physical Layer] Wireless Channel
·
CS/Computer Network
주파수 대역폭\(R = W log_2(1+SNR)\)R : data rateW : 주파수 대역폭  T = 0.1초 라는 것은 1초에 10symbol = 20bits 가 전송된다는 것이다 (QPSK 기준)T= 0.01초라는 것은 1초에 100symbol = 200bits가 전송되느다는 것이다.1/T가 주파수 대역이 된다.  의미S1과 S2의 대역폭이 100Hz라는 것을 의미한다. 국가에서 기업에서 돈을 받고 주파수 대역폭을 할당해준다. 이와 같이 되어있다면, SKT에서는 10^5의 단말기가 사용할 수 있는 것이다위에는 주파수 s1, 아래는 주파수 s2를 사용한다고 하자 ( 대역폭이 100hz)위에 사람이 받은 수신된 신호는 (s2가 없다면) r = S1 + N이다. r = s1+s2 + N인데, s2가 필..
[Physical Layer] 통신 시스템 & SNR
·
CS/Computer Network
통신 시스템Bit Source모든 신호는 bit stream으로 표현한다.4 x 4로 표현된 이미지가 있다고 생각해보자16 pixels x 8 = 128 bits가 된다 Symbol mapppingbitsteam을 symbol로 매핑한다.j는 복소수이고s1 = 1+j (00)s2 = 1-j (01)s3 = -1-j (10)s4 = 1-j(11)과 같이, 위상 변화를 90씩 주어 4개 종류의 디지털 심볼로 전송하는 4진 PSK 방식이다그에 따라 128bit는 64 symbol이 된다 noise채널에서 신호 전송 중 외부 요인에 의해 신호에 추가되는 불필요한 전기신호송신단에서 수신단으로 전달할 때신호 감세fadingnoise효과가 발생함 전자 회로에서 random motion(noise)가 발생한다. (-2..
[Link Layer] MAC protocols
·
CS/Computer Network
Media Access Control (MAC)two types of link - point to point- broad cast (shared wired or wireless link) - 대부분 MAC protocolschannel partitioning : TDMA(time), FDMA(frequency)Random Access : Allow collisionsOFDMA (LTE/5G)다른 시간대, 다른 주파수를 사용하기 때문에 서로 소통에 지장이 가지 않는다 TDMA는 시간만, FDMA는 주파수만 분할한 것이다결국 핵심은 user들이 충돌이 되지 않도록 서로 다른 주파수 자원을 할당하는 것이다 OFDMA에서는 현재 분할된 곳에서 single user가 해당 부분을 사용할 수 있다.random ac..
[Link Layer] Error Detection & Correction
·
CS/Computer Network
Reliable data Transferflow control : dst에서 데이터를 처리하는 속도보다 src가 더 빨리 보내지 않도록 하는 것error control error detection : retransmission 요구(ARQ) -> 패킷에서 한 비트만 에러가 발생하더라도 다 버리게 되어있음error correction : 문제가 있는 비트를 맞게 바꿔줌 (Forward Error Correction)feed back feed forwardfeed back 시스템은 다시 보낸 시도가 어떠한 시스템에 영향을 미치는데feed forward는 정방향으로만 흐름이 흐른다. 즉, 다시 되돌아가서 영향을 미치지 않음 ex)12개의 비트로 이루어진 패킷이 있다고 가정해보자101101011011에러가 발..
[Network Layer] Routing Algorithm
·
CS/Computer Network
Routing AlgorithmRouting Algorithm : 루트를 결정하는 알고리즘 (Host-to-Host) & algorithm that finds that least cost path Graph G = (N, E)N = set of Nodes (ROUTER)E = set of Links Cost = 여러 상황을 고려하여 링크에 부여되는 값으로, 한 라우터에 많은 부담이 생기면 바뀔 수 있음cost는 물리적인 거리만 고려한 것은 아니다 라우터를 거치지 않는 것이 더 적은 cost가 드는 것은 아니다.파란색은 cost가 5, 빨간색은 cost가 4이기 때문에 결국 빨간 경로가 cost가 더 작다. c(x,y) or \(C_{xy}\) : 둘 다 x,y의 cost를 나타낸다.If (x,y) \(\..