CS

· CS/OS
막연하게 프로세스는 프로그램이 메모리에 올라가서 실행 중인 상태, 스레드는 프로세스의 하나의 실행 단위 라고 생각해왔다. 동기화나 세마포어, 뮤텍스 .. 등을 다시 한번 되짚어보며 정리의 필요성을 느꼈다. Program 어떤 작업을 위해 실행할 수 있는 파일 Process 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 메모리 에 올라와 실행되고 있는 프로그램의 인스턴스 운영체제로부터 시스템 자원을 할당받은 작업의 단위 메모리 에 올라와 실행된 프로그램 할당받는 시스템 자원의 예 CPU 시간 운영되기 위해 필요한 주소 공간 Code, Data, Stack, Heap 의 구조로 되어있는 독립된 메모리 영역 프로세스의 독립된 메모리 영역 기본적으로 프로세스당 최소 1개의 스레드 (메인 스레드)를 가지고 ..
· CS/DB
정의 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위이자 한번에 모두 수행되어야하는 일련의 연산 상태를 변화 == SQL 질의어(INSERT, UPDATE, DELETE ... )를 통해 DB에 접근 트랜잭션 성질 (ACID) Atomicity(원자성): 트랜잭션 내 연산은 모두 반영되든지(commit) 아예 하나도 반영되지 않아야한다(rollback). Consistency(일관성): 실행이 성공적으로 완료되면 언제나 일관성있는 데이터베이스 상태를 유지해야한다. Isolation(독립성): 둘 이상의 트랜잭션이 병행 수행될 때, 서로의 연산에 끼어들거나 영향을 주면 안된다. Durability(영속성): 한 번 트랜잭션이 성공적으로 완료되면 해당 결과가 영구적으로 저장되어야한다. Consist..
· CS/DB
정의; DB에서 index란? 추가적인 쓰기 작업과 저장 공간을 활용해 데이터베이스 테이블의 특정 열(데이터)에 대한 검색 속도를 향상시키기 위해 사용되는 데이터 구조 사용 목적 왜? 정의에 나온 것처럼 자주 찾는 데이터의 검색 속도를 향상시키기 위함이다. 언제? 규모가 작지 않은 테이블 INSERT, UPDATE, DELETE가 자주 발생하지 않은 컬럼 JOIN, WHERE 또는 ORDER BY 에 자주 사용되는 컬럼 기본적으로 B 트리로 구현되어있어 정렬되어있다는 전제 하에 이루어지는 이야기 범위 검색이 필요할 때 정렬이 필요할 때 장단점 장점 인덱스에 기록된 데이터에 대한 검색 속도가 향상한다. 동일하게 조회를 사용하는 UPDATE, DELETE의 성능이 향상된다. 단점 일정 공간, 일반적으로 DB..
· CS/OS
프로그램 실행 순서 프로그램의 정보를 읽어 메모리에 로드되는 과정을 시각화한 그림 프로그램이 실행하게되면 OS는 메모리(RAM)에 공간을 할당한다. 메모리 영역(구조) 할당해주는 메모리 공간은 Code, Data, Stack, Heap 총 4개 Code; 코드 영역 우리가 작성한 소스코드가 들어가는 부분 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code) 영역이라고도 한다. 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역으로 함수, 제어문, 상수 등이 여기에 저장된다. Data; 데이터 영역 전역 변수와 static 변수가 할당되는 영역 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 메모리가 소멸되는 영역 class Main { static int a = 10; // 데이터 영역..
기넌
'CS' 카테고리의 글 목록