본문 바로가기

CS 공부44

프로세스 주소공간(Process Address Space) 프로세스의 주소 공간이란? 프로그램이 CPU에 의해 실행되면 프로세스가 생성된다. 프로세스가 메모리를 할당 받으면, 자신만의 방법으로 메모리를 관리하기 위해 이 공간들을 어떤 구조로 관리하는데, 우리는 이를 프로세스 주소 공간이라고 부른다. 즉, 메모리에 프로세스의 주소 공간이 할당된다. 프로세스 주소 공간은 코드, 데이터, 스택 영역으로 이루어져 있다. 프로세스 주소 공간을 Code, Data, Stack 으로 구역을 나눈 이유 ? 최대한 데이터를 공유하여 메모리 사용량을 줄이기 위해서이다. Code 부분 존재 이유 코드는 프로그램이 만들어지고 나서는 바뀌지 않기 때문에 Read Only이다. 같은 프로그램이라면 여러 프로세스가 실행되더라도 코드 부분은 모두 같다. 따라서 같은 프로그램의 프로세스인 경.. 2022. 7. 24.
레디스(Redis) 란? Redis란 무엇일까? -> Redis(REmote Dictionary Server) 보통 데이터베이스는 데이터를 하드 디스크나 SSD에 저장한다. 하지만 Redis는 데이터를 메모리(RAM)에 저장하는 인메모리 데이터베이스(In-Memory)로서 디스크 스캐닝이 필요없어 매우 빠른 장점이 존재한다. 이 말만 들으면 Redis의 가장 큰 특징이 모든 데이터를 메모리에 저장하는 빠른 DB가 다라고 생각할지도 모른다. 하지만, 빠른 성능은 Redis의 특징 중 일부분이고, 다른 인메모리 데이터베이스들과의 가장 큰 차이점은 "다양한 자료구조" 이다. 데이터 구조는 key/value 값으로 이루어져있다. Value가 될 수 있는 데이터의 형식은 5가지이다. String (text, binary data) - 5.. 2022. 7. 23.
운영체제(OS : Operating System) 란? 운영체제란? 컴퓨터 시스템은 대개 네 가지 구성요소인 하드웨어, 운영체제, 응용 프로그램 및 사용자로 구분할 수 있다. 하드웨어는 중앙 처리장치(CPU), 메모리 및 입출력(I/O) 장치로 구성되어, 기본 계산용 자원을 제공한다. 응용 프로그램인 워드 프로세서, 스프레드시트, 컴파일러, 웹 브라우저 등은 사용자의 계산 문제를 해결하기 위해 이들 자원이 어떻게 사용될지를 정의한다. 운영체제는 다양한 사용자를 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정한다. 즉,하드웨어를 관리하고 컴퓨터시스템의 자원들을 효율적으로 관리하며, 응용프로그램과 하드웨어간의 인터페이스로써 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다. 운영체제의 종류 운영체제의 종류에는 WIndows 98,.. 2022. 7. 17.
이상현상 (Anomaly) 이상현상 (Anomaly) 이란? 데이터베이스에서 정규화를 수행하지 않으면, 데이터의 중복이 발생하고 전체적인 무결성이 저하된다. 이러한 원인은 데이터 이상 현상(Anomaly)에 의해 발생하며, 이상 현상으로 인해 현실세계의 실제 값과 데이터베이스에 저장된 값이 일치하지 않는 문제가 발생한다. 데이터 이상은 삽입 이상, 삭제 이상, 업데이트 이상이라는 세 가지 유형이 존재한다. 다음은 이상 현상을 설명할 대학교 테이블이다. 학번 학생명 학과 코드 학과명 학과장 코드 학과장명 1 도우너 101 경영학과 1000 워런 버핏 2 고길동 101 경영학과 1000 워런 버핏 3 또치 102 물리학과 2000 아인슈타인 4 마이콜 102 물리학과 2000 아인슈타인 5 둘리 103 컴퓨터공학과 3000 빌 게이츠.. 2022. 7. 16.
SQL과 NOSQL의 차이 웹/앱 개발을 할 때 데이터베이스를 선택하게 된다. MySQL과 같은 SQL을 사용할까? 아니면 MongoDB와 같은 NoSQL을 사용할까? 보통 Spring에서 개발할 때는 MySQL을, Node.js에서는 MongoDB를 주로 사용한다. 하지만 그냥 단순히 프레임워크에 따라 결정하는 것이 아니다. 적합한 데이터베이스를 택해야 한다. 차이점을 알아보자. SQL (관계형 DB) SQL을 사용하면 RDBMS에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있다. ※ RDBMS(Relational DataBase Management System) - 관계형 데이터베이스 관리 시스템 - 대표적으로 오라클, MySQL, Access, MsSql 등이 있다. - 데이터를 테이블 형태('스키마'라고 부른다)로 관리.. 2022. 7. 10.
캐시 메모리(Cache Memory)란? 캐시 메모리란? 캐시의 의미를 검색해보면 Wikipedia에서는 이를 다음과 같이 정의한다. ‘캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 쉽게 말해, 캐시는 다른 말로는 고속 기억 장치(메모리)라고 불리며, 시간을 절약하기 위해 데이터를 임시로 저장한다. 컴퓨터가 발전함에 따라 CPU의 속도가 점점 빨라졌지만 메모리에는 한계가 있다. 따라서 캐시가 등장하였고 캐시는 속도를 높이고 고속의 CPU와 동기화하기 위해 없어서는 안 되는 존재이다. 캐시 메모리의 구조 컴퓨터는 기본적으로 CPU, (메인)메모리, .. 2022. 7. 10.