전체 글 36

[데이터베이스] 엔티티, 릴레이션, 속성, 도메인

데이터베이스란?일정한 규칙 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음.구조 - 응용 프로그램 - nodeJS, php- DBMS- 데이터베이스데이터베이스 위에 DBMS 가 존재하고, 그 위에 응용프로그램이 존재하여, 응용프로그램에서 데이터베이스 안에 있는 데이터를 끄집어내어 관련 로직을 정의한다. DBMS (Data Managemet System)데이터베이스를 제어, 관리하는 통합 시스템.ex. Oracle, MySQL, MongoDB DBMS마다 정의된 쿼리 언어들을 사용하여 데이터베이스를 관리(CRUD)한다. 엔티티 Entity사람, 장소, 물건 등 여러 개의 속성을 지닌 명사.ex. '회원' 엔티티에는 이름, 아이디, 주소, 전화번호 등의 속성이 있음. 서비스에 맞게 속성을 지정 강한 엔티..

cs 2024.08.06

캐시 매핑

매핑(사상)이란?블록을 메모리에서 가져와서 캐시에 어떻게, 어디다 가져다 놓을건지를 정하는 것. 매핑의 필요성캐시의 크기는 메모리보다 작기 때문에, 다수의 메모리 블록이 동일한 캐시 블록에 매핑된다. 직접 매핑(direct mapping) : 메모리 블록을 정해진 하나의 캐시 블록에만 사상 (사상 = 매핑)완전 연관 매핑(fully-associative mapping) : 메모리 블록을 어떤 캐시 블록에도 사상집합 연관 매핑(set-associative mapping) : 직접 사상과 완전 연관 사상을 절충하여, 메모리 블록을 정해진 블록의 집합 내 어디든 사상 직접 매핑 Direct Mapping메모리의 특정 블록은 특정 캐시라인에만 매핑하는 것.= 메인메모리와 캐시를 똑같은 크기로 나누고 순서대로 매..

cs 2024.08.04

PCB와 컨텍스트 스위칭

프로세스 관리구동중인 프로세스가 여러 개일 때, CPU 스케줄링을 통해 프로세스를 관리하는 것을 의미한다.  CPU들은 각 프로세스들에 대해서 구분할 수 있어야 관리가 가능하다. -> 프로세스들의 특징을 갖고 있는 Process Metadata를 활용한다. 프로세스 메타데이터가 담고있는 정보프로세스 고유 ID (PID)프로세스 상태프로세스 우선순위Program Counter (PC)CPU 레지스터OwnerMemory Limit기타 등등메타데이터는 프로세스가 생성될 떄마다 PCB (Process Control Block) 이라는 곳에 저장된다. PCB (Process Control Block)프로세스들의 메타데이터를 저장하는 곳.하나의 PCB 안에 하나의 프로세스 정보가 담기는 구조이다.프로그램 실행 → ..

cs 2024.07.30

프로세스의 메모리 구조

시스템은 프로그램을 실행할 때 해당 프로그램을 메모리에 로드한다. 프로세스실행되고 있는 프로그램으로, 프로세스는 각 메모리 공간을 시스템으로부터 할당받는다. 프로세스의 메모리 영역메모리는 코드, 데이터, 힙, 스택 영역으로 구성되어 있다. Code 영역실행할 프로그램의 코드가 저장된다.CPU는 코드 영역에서 명령어를 하나씩 가져와 처리하게 된다.컴파일 타임에 결정된다.중간에 코드 변경이 불가하도록 Read-Only로 되어있다.Data 영역전역변수와 정적변수 등 프로그램이 사용하는 데이터를 저장한다.이 변수들을 참조한 코드는 컴파일이 완료될 시 data 영역의 주소값을 가르키도록 바뀐다.변수가 변경될 수 있기 때문에, Read-Write로 되어있다. Data 영역은 다시 BSS 영역과 Data(GVAR) ..

cs 2024.07.30

페이지 교체 알고리즘

프로세스가 요구한 페이지가 현재 메모리에 없는 경우, 페이지 부재(page fault)가 발생-> 스왑 영역에서 페이지를 메모리로 가져온다. 이 때, 메모리가 꽉 찼다면 메모리에 있는 페이지를 스왑 영역으로 보내야 한다. 페이지 교체 알고리즘은 메모리가 꽉 찼을 때 어떤 페이지를 스왑 영역으로 내보낼지 결정하는 알고리즘이다.메모리에서 앞으로 사용할 가능성이 적은 페이지를 대상 페이지(victim page)로 선정 -> 페이지 부재를 줄이고, 시스템의 성능을 향상 성능 평가 기준페이지 부재 횟수, 페이지 성공 횟수를 기준으로 비교하려고 한다.페이지 교체 알고리즘은 유지 비용 역시 고려해야 한다.페이지 부재의 횟수를 알 수 있는 방법: 페이지 참조열(page reference string)cpu가 참조하는 ..

cs 2024.07.27

인터럽트 interrupt

인터럽트의 정의프로세스 실행 도중 예기치 않은 상황이 발생할 때, 해당 상황을 처리한 후 실행중인 작업으로 복귀하는 것CPU의 정상적인 프로그램 실행을 방해한 것 주로 입출력 장치의 signal, data가 발생할 때까지 원래의 작업을 수행하다가 해당 기능을 처리하는 것. (외부 인터럽트) 종류외부 인터럽트, 내부 인터럽트 내부 인터럽트소프트웨어가 인터럽트 라인을 세팅하는 것.즉, CPU가 명령어를 수행하고 있다가 자신이 처리할 수 없는 명령이면 자기 자신한테 인터럽트를 건다.하드웨어 고장컴퓨터 고장데이터 전달 과정에서 비트오류전원이 나간 경우실행할 수 없는 명령어기억장치에서 인출한 명령어의 비트 패턴이 정의되지 않은 경우명령어 실행 오류나누기 0을 하는 경우사용 권한 위배사용자가 운영체제만 사용할 수 ..

cs 2024.07.23

네이글 알고리즘

네트워크를 통해 전송해야 하는 패킷 수를 줄임으로써 TCP/IP 네트워크의 효율성을 향상하는 수단.John Nagle이 정의해서 네이글 알고리즘이다.ACK를 받을 때까지 출력 버퍼에 데이터를 저장했다가 한번에 보내는 방식이다.  RFC의 '스몰 패킷 문제'응용프로그램이 종종 1바이트에 불과한 작은 덩어리로 반복적으로 데이터를 내보내는 것. TCP 패킷은 40바이트의 헤더를 가지는데, 1바이트의 정보를 보내기 위해 41바이트의 패킷을 보내는 오버헤드를 초래하게 된다.이러한 비효율성은 수많은 패킷들이 동시에 전송되어, 잠재적으로 Congestion Collapse(정체 붕괴)로 이어질 수 있다. 네이글 알고리즘의 수도 코드if there is new data to send then // 상대방이 받을 수 있..

cs 2024.07.21

이더넷 프레임과 구조

이더넷 프레임(Ethernet Frame)의 개념이더넷 프레임은 OSI 2계층인 데이터 링크 계층에서 사용되는 전송 메커니즘이다.프레임은 데이터를 담는 컨테이너. IEEE 802.3 (표준 프레임)DIX 2.0 (Ethernet II)실제로는 Ethernet II 프레임 포멧을 사용한다.Permeable송신자와 수신자의 동기화를 위해 사용된다.56비트(7개의 비트열) 동안 `1`,`0`을 반복함  ex. 10101010 SFD(Start of Frame Delimiter)802.3 프레임에만 존재. Permeable의 끝을 표기하는 8비트 구성.이더넷 패킷의 첫 번째 필드이자, 이더넷 프레임의 시작을 알려준다. Permeable 비트 패턴과 실제 프레임의 시작 신호 전달을 위해 디자인되었다.마지막 두 비..

cs 2024.07.21

브라우저 렌더링과정

브라우저 렌더링은 HTML, CSS, JavaScript 등의 웹 페이지 자원을 브라우저가 화면에 그리는 과정을 말한다.브라우저가 사용자가 요청한 주소를 방문, HTML 파일을 다운로드브라우저의 렌더링 엔진은 HTML 문서를 파싱하여 DOM 노드로 구성된 트리(DOM)를 생성한다.css 파일 만날 시 css파일도 다운로드HTML 태그를 노드로 변환하고, 노드 간의 계층 관계를 형성DOM(Document Object Model)웹페이지에 대한 인터페이스. 브라우저가 웹페이지의 콘텐츠와 구조를 어떻게 보여줄지에 대한 정보브라우저의 렌더링 엔진이 CSS 파일을 파싱하여 CSS 노드로 구성된 트리(CSSOM) 생성CSS 속성을 노드로 변환하고, 노드 간 계층 관계를 형성DOM트리와 CSSOM을 결합하여 렌더 트..

cs 2024.07.18

유선LAN

유선LAN은 양쪽 장치가 동시에 송수신할 수 있는 전이중화 방식을 사용한다. 전이중화 통신전이중화(FULL DUPLEX) 통신은 양쪽 장치가 동시에 송수신 할 수 있는 방식을 말한다.송신로와 수신로가 나뉘어져 있으며, IEEE802.3 프로토콜을 기반으로 이더넷 프레임 구조 등을 결정한다.유선LAN은 동축케이블, 광케이블 등으로 구성된다. IEEE802.3이란? 이더넷프레임은 어떤 구조를 기반으로 할 것인지, 케이블의 최대 전송량, 어떤 케이블만 가능하도록 할 것인지 등을 정한 규칙을 말한다. 전이중화 장치양쪽장치가 동시에 송수신할 수 있는 방식, 송신로와 수신로를 나눠서 데이터를 주고 받을 수 있다.CSMA/CDCSMA/CD(CARRIER SENSE MULTIPLE ACCESS WITH COLLISIO..

cs 2024.07.18