분류 전체보기

데이터베이스의 기본
1. 데이터베이스(DataBase) : 일정한 규칙, 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음. 데이터베이스를 제어, 관리하는 통합시스템을 DBMS라고한다. 각 DBMS마다 정의된 쿼리 언어로 데이터들에 대한 CRUD등을 수행 할 수 있다. 2. 엔터티(Entity) : 사람, 장소, 물건, 사건, 개념 등 여러개의 속성을 지닌 명사를 의미. A가 B의 존재여부에 종속적이라면 A는 약한 엔터티, B는 강한 엔터티라고 할 수 있다. 3. 릴레이션(Relation) : DB에서 정보를 구분하여 저장하는 기본 단위이다. 엔터티에 관한 데이터를 릴레이션하나에 담아 관리. RDBMS에서는 테이블이라고 불리고, NoSQL DB에선 컬렉션이라 불린다. 4. 관계형, 비관계형데이터 베이스 종류 특징 예시 관..
CPU 스케줄링 알고리즘
1. CPU 스케줄링 정의 : 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업 종류 장기 스케줄링 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정해 준비상태 큐로 보내는작업 중기 스케줄링 어떤 프로세스들이 CPU를 할당받을 것인지 결정하는 작업 단기 스케줄링 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업 목적: 공정성, 처리율 증가, CPU 이용률 증가, 우선순위 제도 , 오버헤드 최소화, 응답시간 최소화, 반환시간 최소화, 대기시간 최소화, 균형있는 자원의 사용, 무한 연기 회피 등 2. CPU 스케줄링 알고리즘 : 어떤 프로그램에 CPU 소유권을 줄 것인지 결정. CPU 이용률은 높게, 시간당 많은 일을 수행하고, 준비 큐에 있는 프로세스는 ..

프로세스와 스레드
1. 프로세스 : 실행중인 프로그램 2. 스레드 : 프로세스 내 작업의 흐름 3. 프로세스와 컴파일 과정 전처리 : 소스코드의 주석을 제거 #include 등 헤더 파일을 병합하여 매크로를 치환 컴파일러 : 오류처리, 코드 최적화작업을 하며 어셈블리어로 변환한다. 어셈블러 : 어셈블리어를 기계어 형태의 오브젝트 코드로 해석해 주는 컴퓨터 언어 번역 프로그램. 기본 컴퓨터 명령어들을 컴퓨터 프로세서가 기본 연산을 수행하는데 사용할 수 있는 비트 패턴으로 변환 링커 : 프로그램 내에 있는 라이브러리 함수 또는 다른 파일들과 목적코드를 결합해 실행파일을 만듬 정적 라이브러리 : 프로그램 빌드 시 라이브러리가 제공하는 모든 코드를 실행 파일에 넣는 방식. 외부의존도 낮고, 메모리 효율성이 떨어짐. 동적 라이브러..

메모리
1. 메모리 계층 레지스터 CPU안에 있는 작은 메모리, 휘발성, 속도 가장 빠름, 기억용량이 작다. 캐시 L1,L2캐시를 지칭. 휘발성, 속도 빠름, 기억용량 적음.L3캐시도 존재 * 데이터를 미리 복사해 놓는 임시저장소, 빠른장치와 느린장치 사이에서 속도차이에 따른 병목현상을 줄이기 위한 메모리 주기억장치 RAM을 의미. 휘발성,속도, 기억용량 보통 보조기억장치 HDD,SDD를 의미, 휘발성,속도 낮음, 기억용량 많음 * 캐싱계층 : 계층과 계층사이의 속도차이를 해결하기 위한 계층 * 캐시히트 : 원하는 데이터를 찾음(cpu내부 버스기반작동으로 빠름) * 캐시미스 : 해당 데이터가 캐시에 없으면 메모리에서 데이터를 탐색(시스템버스 기반작동으로 느림) * 캐시매핑 : 캐시가 히트되기 위해 매핑하는 방법..
운영체제, 컴퓨터의 개념 및 구조
1. 운영체제 개념 사용자가 컴퓨터를 쉽게 다룰 수 있도록 돕는 인터페이스. 한정된 메모리 또는 시스템자원을 효율적으로 분배 2. 운영체제의 역할 CPU 스케쥴링과 프로세스 관리 메모리 관리(어떤 프로세스에 메모리를 얼만큼 할당할지) 디스크 파일 관리 I/O 디바이스 관리(입출력장치와 컴퓨터 간에 데이터관리) 3. 운영체제의 구조 유저프로그램 사용자 및 기타 시스템 프로그램 GUI GUI, CUI 등 시스템콜 - 운영체제가 커널에 접근하기 위한 인터페이스(추상화계층) - 유저모드 -> 커널모드(파일 읽기) -> 유저모드(프로그램 로직 수행) 이 과정을 통해 컴퓨터 자원에 대한 직접 접근을 차단, 타 프로그램으로부터 보호 - modebit을 참고해 유저,커널모드 구분(1또는0의 값을 가지는 플래그변수) 커..
HTTP
1. HTTP/1.0 한 연결당 하나의 요청을 처리하도록 설계 RTT 증가(RTT : 패킷 왕복시간) 이미지 스플리팅, 코드압축, 이미지 Base64 인코딩을 통해 해결 이미지 스플리팅 많은 이미지가 합쳐있는 하나의 이미지 다운로드 후 이를 기반으로 background-image의 position을 이용해 이미지를 표기( 많은 이미지 다운로드시 과부하가 발생) 코드 압축 개행문자, 빈칸을 없애 코드크기를 최소화 이미지 Base64 인코딩 이미지 파일을 64진법으로 이루어진 문자열로 인코딩하는 방법(37%정도 크기가 더 커진다.) * 인코딩 : 정보의 형태나 형식을 표준화, 보안, 처리속도 향상, 저장공간 절약등을 위해 다른 형태나 형식으로 변환 2. HTTP/1.1 HTTP/1.0과는 달리 매번 TCP연..