분류 전체보기 532

[OS] DeadLock

* The Deadlock Problem - 리소스를 갖고 있으면서, 다른 Process가 갖고 있는 리소스를 원하는 프로세스 이런 프로세스들의 집합으로 집합 내에서 서로의 리소스를 원하는 것 - Resource Type = Rn - Resource Instance = Wn ex) 3개의 모니터가 연결된 컴퓨터에 대한 모니터 타입 R1은 3개의 instance W1,W2,W3를 갖고 있다. - 모든 process는 resource를 요청하고, 사용하고, 해제하는 과정을 갖는다. * Deadlock이 생기는 겅우 - 다음 4가지의 상태를 모두 만족해야 한다. ⓐ Mutual Exclusion : 오직 하나의 process만 instance에 접근 ⓑ Hold and wait : resource를 갖고 있는..

[소프트웨어공학론] Software Testing

* Problem Testing - 하고자하는 일을 수행하는가?(validation)를 검사 // validation testing - error가 나는가?(verification)를 검사 // defect testing - test를 수행하는 전재 조건 : 실행 가능한 Program, 인위적인 data 자료 - error가 없다는 것은 검증이 불가능하다. - 먼저, validation testing을 실시(미리 제작된 test case를 활용) - validation testing이 끝나면, defect testing을 실시한다. 그때 생각나는 data를 즉흥적으로 입력하며, 잘못된 data에도 정상적으로 돌아가는지를 파악한다. - 각각의 test는 goal을 정해둔후 실시한다. * V&V confid..

[네트워크] LAN : Ethernet

* 용어 - LAN : local Area Network - WAN : Wide Area Network - MAN : Metropolitan Area Network - PAN : Personal Area Network = Home Network > 적용되는 환경으로 나뉘며 사용되는 기술도 각각 다르다. * IEEE, LAN 표준 - MAC에 관련된(LAN, PAN) 것의 국제 표준을 만든다. - 상식 : 802.3x = Ethernet / 802.11x = Wifi / 802.15x = 무선 LAN * LLC와 MAC계층 - LLC > 본래 Link Layer는 MAC을 생각하지 않고 만들었다. > MAC위에서 Point to Point 연결을 지원해준다. * Ethernet - CSMA/CD방식으로 데..

[네트워크] MAC

* Multi Access(MAC) - 통신 장치들이 동일한 링크를 같이 사용하여 프레임을 전송할 때, 하나 이상의 장치가 동시에 프레임을 전송 하려고 하면 충돌이 발생한다. - 링크 접근과 다중 접근 제어가 필요로 하다. - Protocol 분류 ⓐ Random access protocols : random으로 연결 ⓑ channelization protocols : 각각 마다 별도의 채널을 할당 ⓒ controlled access protocol : 제어하면서 연결을 설정 * Random access : 중앙 제어 장치 없이 모든 장치들이 동일한 자격으로 프레임을 전송할지 말지를 결정 ⓐ Aloha protocol - 2개 이상의 Frame이 동시에 전송되면 충돌이 발생하고, 충돌된 모든 프레임은 사..

[IA-32] Pointer 예

Title Program Template (Pointers.asm) ; Program Description:; Author:; Cration Date:; Revisions:; Date:; Modified by: INCLUDE Irvine32.inc PBYTE TYPEDEF PTR BYTE ; pointer to bytesPWORDTYPEDEF PTR WORD ; pointer to wordsPDWORDTYPEDEF PTR DWORD ; pointer to double words; TYPEDEF = 모든 내장된 자료형의 크기로 사용이 가능하다. .data ; (insert variables here)arrayB BYTE10h, 20h, 30harrayW WORD 1, 2, 3arrayD DWORD 4, 5..

[IA-32] Operator & Directive

* Operand ⓐ offset operator - OFFSET variable - segment 시작부터 변수까지의 거리 (data segment 시작주소로부터 떨어진거리) ※ 주소는 4Byte이기 때문에 4Byte register(reg32)에 넣어준다. ⓑ ALIGN directive - byte, word, dword, 단락의 경계를 정렬 - ALIGN bound - bound의 값은 1,2 or 4가 될 수 있다. - CPU가 홀수보다 짝수 저장소에 접근을 더빨리 하기 때문에 사용한다. ex) bval BYTE ? ; offset 00401000 ALIGN 2; 2byte씩 데이터 간격을 늘린다. wVal word ?; offset 00401002 (Align이 default였으면 byte의 ..

[하드웨어] IA-32 Basic operand and operation, flag 실습

Title Program Template (lab1.asm) INCLUDE Irvine32.inc .dataval1 word 1000hval2 word 2000harrayBbyte10h, 20h, 30h, 40h, 50harrayWword100h, 200h, 300harrayDdword10000h, 20000h, 30000h .codemain PROCmov bx, 0A69Bh; insert 0A69Bh into bx.movzxeax, bx; eax = 0000A69Bhmovzxedx, bl; eax = 0000009Bhmovzx cx, bl ; cx = 009Bh, tail(4bit) of ecxmovax, val1; ax = 1000hxchg ax, val2; ax = 2000hval2 = 1000hm..

[하드웨어] IA32 Basic Operation and Operand Type

* Operand type - Immediate (즉시값) : 상수, 숫자 - register (레지스터) - memory (메모리) - R8 : AH, AL, BH, BL, CH, CL, DH, DL - R16 : AX, BX, CX, DX, SI, DI, SP, BP - R32 : EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP - SERG : CS, BS, SS - IMM : immediate value, number - r/m [size] : register or memory > Direct Memory Operands // 변수는 주소값을 가르킨다. 변수에서 +-를 시켜서 직접적으로 이동이 가능(Offset move) .data var BYTE 10h; offset valu..

[OS] Solve Problem Using Semaphore

* Sharing Resource 문제는 Semaphore로 해결할 수 있고 다음과 같은 과정을 따른다. ⓐ 문제 인식 ⓑ 각 문제에 대해 해결할 semaphore와 공유되는 resource에 대한 semaphore 만들기. ⓒ Semaphore의 초기 값을 설정 : 초기값은 접근 가능한 resource or process의 개수로 semaphore가 보호하는 값의 개수이다. ⓓ 각 문제에 대한 해결을 Source에 적용한다. * BBP ( Bounded Buffer Problem ) ⓐ 문제 인식 - Producer cannot write when full, but wait until not full. - Consumer cannot read when empty, but wait until not em..

[소프트웨어공학론] Design & implementation

* Design & implementation - 실행 가능한 소프트웨어 System을 개발하는 것 - inter-leaved : design과 implementation은 동시에 발생한다. - Build(구현) or Buy(구매) > 구매 : Commercial off the shelf system(COTS) > 사느냐, 구현하느냐에 따라 System이 달라진다. * Object-Oriented Design Process - 구조적 개발 방법론을 사용하기 때문에 Large-System 개발에 용이 - small system 개발에는 비용적 측면이 비효율 적일 수 있다. * Process stage - Define the context - Design the System Architecture - Ide..