전체 글

Deadlock Problem Deadlock Deadlock 일련의 프로세스들이 서로가 가진 자원(Resource)을 기다리며 block된 상태 Resource 하드웨어, 소프트웨어를 모두 포함하는 개념 프로세스가 자원을 이용하는 절차: Request -> Allocate -> Use -> Release Deadlock 발생 조건 (1) Mutual exclusion 매 순간 하나의 프로세스만이 자원을 사용할 수 있음 (2) No preemption 프로세스는 자원을 스스로 내어놓을 뿐 강제로 빼앗기지 않는다. (3) Hold and wait 자원을 가진 프로세스가 다른 자원을 기다릴 때 보유 자원을 놓지 않고 계속 갖고 있음 (4) Circular wait 자원을 기다리는 프로세스간에 사이클이 형성되..
SQL 소개 SQL SQL (Structured Query Language) RDB (관계 데이터베이스)를 위한 표준 질의어, 비절차적 데이터 언어 대화식 SQL: 데이터베이스 관리 시스템에 직접 접근해 질의를 작성하여 실행 삽입 SQL: 프로그래밍 언어로 작성된 응용 프로그램에 삽입 SQL의 분류 데이터 정의어(DDL): 테이블을 생성, 변경, 제거하는 기능 제공 데이터 조작어(DML): 테이블에 데이터를 삽입하거나, 저장된 데이터를 수정, 삭제, 검색하는 기능 제공 데이터 제어어(DCL): 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자 별로 부여하거나 취소하는 기능 제공 SQL을 이용한 데이터 정의 테이블 생성: CREATE TABLE [ ] 안의 내용은 생략 가능 세미콜론으로 문장의 끝을 ..
· ASC
RDS RDS (Relational Database Service) RDS: SQL을 언어로 사용하는 managed database service (완전 관리형) 프로비저닝, OS 패칭 전부 자동 지속적 백업 㖅 특정 시간으로 복구할 수 있음! (Point in Time Restore) 모니터링 대시보드도 있음 read 레플리카 multi AZ 셋업 가능 Scaling capability EBS 스토리지 사용 RDS 특징 RDS Read Replica 읽기기 전용 복제본 Read Capabilities를 늘릴 수 있다. Q: RDS를 사용하고 있는 회사에서 하루/한달에 한번씩 통계용으로 데이터를 읽어오는데 성능에 문제가 생기는 것을 발견했다. 이때의 솔루션은? A: RDS Read Replica Stor..
CDN DASH Streaming stored video playing while downloading challenge: scale, heterogeneity of clients 👉 solution: distributed, smart client progressive: 점진적(Progressive)으로 내 컴퓨터에 다운로드하여 플레이 되는 방식 adaptive: 비디오를 chunk로 나누어 전송 DASH (Dynamic, Adaptive Streaming over HTTP) server divides video file into multiple chunks -> each chunk stored, encoded at different rates manifest file: provides URLs for ..
Race Condition Race Condition Race Condition 여러 데이터들이 동시에 공유 데이터를 접근하는 상황 Storage Box (memory, address space) 를 공유하는 Execution Box (CPU Process)가 여러 개 있는 경우 Race Condition이 발생할 수 있다. OS에서 Race Condition이 발생하는 경우 1. kernel 모드 수행 중 인터럽트 발생 시 2. Process가 system call을 하여 kernel 모드로 수행중인데 context switch가 일어나는 경우 두 프로세스의 address space간에는 데이터 공유가 없으나 system call을 하는 동안에는 kernel address space의 데이터를 공유하기..
관계 데이터 연산의 개념 💡 Remind 데이터 모델 = 데이터 구조 + 연산 + 제약 조건 관계 데이터 연산 관계 데이터 연산 (Relational data operation) 관계 데이터 모델의 연산 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것 관계 대수와 관계 해석 관계 대수 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술 관계 해석 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술 관계 대수와 관계 해석 모두 기능과 표현력 측면에서 능력이 동등하다. 관계적으로 완전(Relationally complete)한 언어: 관계 대수나 관계 해석을 사용하여 데이터베이스의 모든 유형의 질의를 표현하고 처리할 수 있는 언어 관계 대수 (Relational A..
· ASC
Cloud Computing Service Cloud Computing Service Cloud Computing Service 인터넷을 통해 서버, 스토리지, DB, 네트워크 및 기타 컴퓨팅 자원에 대한 온디맨드 액세스를 제공하는 서비스 사용자가 직접 인프라를 보유하거나 관리할 필요 없이 필요할 때 원하는 컴퓨팅 리소스를 사용하도록 함 AWS의 주요 컴퓨팅 엔진 EC2 (IaaS) AWS에서 갖장 기본적이고 널리 쓰이는 인프라, 가상 머신으로 제공되며 인스턴스라고 불림 물리 환경의 컴퓨터처럼 컴퓨팅 리소스를 제공하는 서비스 Lightsail (IaaS) 초보자 친화적인 서비스로, 주어진 리소스 옵션 중 하나를 골라 단일 가상 서버를 간단히 설정하는 서비스 사전에 구성된 템플릿을 이용해서 인스턴스를 빠르..
데이터 모델링과 데이터 모델의 개념 데이터 모델링 데이터 모델링(Data Modeling) 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 데이터베이스 설계의 핵심 과정 2단계 데이터 모델링 개념적 데이터 모델링(Conceptual Modeling): 현실 세계의 데이터를 추출하여 개념 세계로 옮기는 작업 논리적 데이터 모델링(Logical Modeling): 개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업 데이터 모델 데이터 모델(Data Model) 데이터 모델링의 결과물을 표현하는 도구 개념적 데이터 모델: 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구 ex. 개체 - 관계 모델 논리적 데이터 모델: 개념적 구조를 논리적 모델링하여 데이..
CPU Scheduling CPU Scheduling이 필요한 이유 여러 종류의 job(process)가 섞여 있기 때문에 Interactive job에게 적절한 response를 제공하고, 시스템 자원을 효율적으로 사용하기 위해 CPU Scheduling이 필요하다 프로세스의 특성 분류 I/O-bound process: I/O에 많은 시간이 필요한 job, many short CPU bursts CPU-bound process: 게산 위주의 job, few very long CPU bursts CPU Scheduler & Dispatcher CPU Scheduler Ready 상태의 프로세스 중에서 CPU를 줄 프로세스를 고른다 (Short-term scheduler) Dispatcher CPU 제어권..
Electronic Mail: SMTP, POP3, IMAP push protocol: a client who wants push(send) data initiate a connection pull protocol: a client who wants to pull (receives) data initiate a connection SMTP 👉 push protocol / POP3, IMAP 👉 pull protocol Electronic mail Three Major Components Mail User Agents (MUA) creating email msg and transfer it to MTA & retrieving emails Mail Servers or Mail Transfer Agent (M..
호프
Untitled