일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 선언형
- 관계형 데이터베이스
- 프로젝트 계확
- 메모리
- CPU 스케줄링
- 인터넷계층
- MVVM
- 개발 모델
- 요구사항 분석
- 프로그래머스 데브코스
- 럼바우
- nosql
- 노출모듈패턴
- 함수형
- redis
- 4-way handshake
- MongoDB
- 처리량
- 절차형
- 페이징 교체 알고리즘
- 프록시패턴
- M/M
- 다크모드
- PERT/CPM
- 지연시간
- modebit
- 다단계 큐
- 3-way handshake
- 링크계층
- 스레싱
- Today
- Total
목록CS (17)
노트

1. 관계형 데이터베이스(RDBMS) 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스, SQL 언어를 써서 조작 MySQL, PostgreSQL, 오라클, SQL Server, MSSQL 등 표준 SQL은 지키지만 각각의 제품에 특화시킨 SQL을 사용 MySQL: SQL 오라클: PL/SQL SQL Server: T-SQL MySQL 대부분의 운영체제와 호환되며 현재 가장 많이 사용하는 데이터베이스 C, C++로 만들어졌으며 MyISAM 인덱스 압축 기술, B-트리 기반의 인덱스 스레드 기반의 메모리 할당 시스템, 매우 빠른 조인, 최대 64개의 인덱스를 제공 대용량 데이터베이스 위해 설계, 롤백, 커밋, 이중암호 지원 보안 등 기능을 제공 스토리지 엔진: 데이터베이스의 심장 역할 모듈식..
데이터베이스(DB, DataBase)는 일정한 규칙 또는 규약을 통해 구조화되어 저장되는 데이터의 모음. DBMS(DataBase Management System)는 DB를 제어, 관리하는 통합 시스템. DB 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어(query language)를 통해 삽입, 삭제, 수정, 조회 등을 수행 또한 데이터베이스는 실시간 접근과 동시 공유가 가능함. 응용 프로그램 DBMS 데이터베이스 1. 엔티티(Entity) 사라, 장소, 물건, 사건, 개념 등여러 개의 속성을 지닌 명사를 의미 ex) 회원이라는 엔티티에는 이름, 아이디, 주소, 전화번호 등의 속성을 가짐. 속성은 서비스의 요구 사항에 맞춰 정해짐. 서비스의 요구 사항과 무관한 속성이라면 해당 속성은 사라질 ..
CPU 스케줄러는 CPU 스케줄링 알고리즘에 따라 프로세스에서 해야 하는 일을 스레드 단위로 CPU에 할당. 프로그램이 실행될 때는 CPU 스케줄링 알고리즘이 어떤 프로그램에 CPU 소유권을 줄 것인지 결정함. 이 알고리즘은 다음과 같은 설정을 목표로 하고 있음. CPU 이용률 증가 능률 증가 준비 큐(ready queue)에 있는 프로세스 최소화 응답 시간 감소 CPU 스케줄링 알고리즘 비선점형 선점형 FCFS SJF 우선순위 라운드로빈 SRF 다단계 큐 1. 비선점형 방식(Non-preemptive) 프로세스가 스스로 CPU 소유권을 포기하는 방식, 강제로 프로세스를 중지하지 않음. 따라서 컨텍스트 스위칭으로 인한 부하가 적음. FCFS(First Come, First Served) 가장 먼저 온 것..

5. 멀티프로세싱 여러 개의 프로세스를 통해 동시에 두 가지 이상의 일을 수행할 수 있는 것. 하나 이상의 일을 병렬로 처리 가능. 특정 프로세스의 메모리, 프로세스 중 일부에 문제가 발생하더라도 다른 프로세스를 이용해서 처리할 수 있으므로 신뢰성이 높은 강점. 멀티프로세싱은 하드웨어 관점으로 봤을 때 여러 개의 프로세서로 작업을 처리하는 것을 의미하기도 함. 아래는 소프트웨어적 과점에서 멀티프로세싱을 설명함. 웹 브라우저 웹 브라우저는 멀티프로세스 구조를 가지고 있음. 브로우저 프로세스: 주소 표시줄, 북마크 막대, 뒤로 가기 버튼, 앞으로 가기 버튼 등, 네트워크 요청이나 파일 접근 같은 권한을 담당. 렌더러 프로세스: 웹 사이트가 보이는 부분의 모든 것을 제어 플로그인 프로세스: 웹 사이트에서 사용..

프로세스(process)는 컴퓨터에서 실행되고 있는 프로그램을 말하며 CPU 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰임. 스레드는 프로세스 내 작업의 흐름을 지칭. 프로그램이 메모리에 올라가면 프로세스가 되는 인스턴스화가 일어나고, 운영체제의 CPU 스케줄러에 따라 CPU가 프로세스를 실행. 1. 프로세스와 컴파일 과정 프로세스는 프로그램이 메모리에 올라가 인스턴스화된 것을 말함. 프로그램을 만드는 과정은 언어마다 다를 수 있으며 컴파일 언어인 C 언어 기반의 프로그램을 기준으로 컴파일러가 컴파일 과정을 통해 컴퓨터가 이해할 수 있는 기계어로 번역하여 실행할 수 있는 파일을 만듦. 전처리 소스 코드의 주석을 제거하고 헤더 파일을 병합하여 매크로를 치환 컴파일러(Compil..

2, 메모리 관리 가상 메모리(Virtual Memory) 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것 가상적으로 주어진 주소를 가상 주소(logical address), 실제 메모리상에 있는 주소를 실제 주소(physicla address) 가상 주소는 메모리관리장치(MMU)에 의해 실제 주소로 변환. 이 덕분에 사용자는 실제 주소를 의식할 필요 없이 프로그램을 구축할 수 있음. 가상 메모리는 가상 주소와 실제 주소가 매핑되어 있고, 프로세스의 주소 정보가 들어있는 '페이지 테이블'로 관리 이때 속도 향상을 위해 TLB를 사용 TLB(Translation Lookaside Buffer): 메모리와 CPU ..

메모리 계층 메모리 계층은 레지스터, 캐시, 메모리, 저장장치로 구성 레지스터 캐시(L1, L2 캐시) 메모리(RAM)/주기억장치 저장장치(HDD, SSD)/보조기억장치 레지스터: CPU 안에 있는 작은 메모리, 휘발성, 속도 가장 빠름, 기억 용량이 가장 적음. 캐시: L1, L2캐시를 지칭, 휘발성, 속도 빠름, 기억 용량이 적음. (L3 캐시도 있음) 주기억장치: RAM, 휘발성, 속도 보통, 기억 용량이 보통. 보조기억장치: HDD, SSD를 말함, 비휘발성, 속도 느림, 기억 용량 많음. 램은 하드디스크로부터 일정량의 데이터를 복사해서 임시 저장하고 이를 필요 시마다 CPU에 빠르게 전달하는 역할 계층 위로 올라갈수록 가격은 비싸지는데 용량은 작아지고 속도는 빨라짐. 이러한 계층이 있는 이유는 ..
1. 운영체제의 역할과 구조 운영체제의 역할 1. CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 2. 메모리 관리: 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 3. 디스크 파일 관리: 디스크 파일을 어떠한 방법으로 보관할지 관리 4. I/O 디바이스 관리: I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리 운영체제의 구조 유저 프로그램 인터페이스(GUI, CUI) 시스템콜 커널 [드라이버, 파일시스템 등] 하드웨어 인터페이스, 시스템콜, 커널, 드라이버 부분이 운영체제를 지칭. 참고로 GUI가 없고 CUI만 있는 리눅스 서버도 있음. GUI(Graphical Uesr Inter..

1. HTTP/1.0 HTTP/1.0은 기복적으로 한 연결당 하나의 요청을 처리하도록 설계. 이는 서버로부터 파일을 가져올 때마다 TCP의 3-way handshake를 계속해서 열어야 하기 때문에 RTT가 증가됨. 서버에 부담이 많이가고 사용자 응답 시간이 길어지는 결과가 나타남. RTT(Round Trip Time): 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기 까지 걸리는 패킷 왕복 시간 RTT 증가를 해결하기 위한 방법 이미지 스프라이트, 코드 압축, 이미지 Base64 인코딩을 사용 이미지 스프라이트(Image sprite) 많은 이미지를 다운로드 받게 되면 과부하가 걸리기 때문에 여러 이미지가 합쳐져 있는 하나의 이미지를 다운로드 받고 background-image position을 ..

1. ARP(Address Resolution Protocol) IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜 ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환 (논리적 주소 → 물리적 주소) RARP는 반대로 MAC 주소를 가상 주소인 IP 주소로 변환 (물리적 주소 → 논리적 주소) 장치 A가 ARP Request 브로드캐스트를 보내서 IP 주소에 해당하는 MAC 주소 탐색 해당 주소에 맞는 장치 B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환 이 과정을 거쳐 IP 주소에 맞는 MAC 주소를 찾게 됨. 2. 홉바이홉 통신 IP 주소를 통해 통신하는 과정 통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 다음 IP로 계..