CS4 [OS] 프로세스 및 스레드 프로세스 프로세스 : 컴퓨터에서 실행되고 있는 프로그램 1. 프로그램으로부터 인스턴스화된 것을 말합니다. 2. CPU에서 실행하기 위해 메모리에 로드한 프로그램입니다. 특히, 하나의 프로세스는 여러 스레드를 가질 수 있습니다.(멀티 스레드) 프로세스를 확인하는 명령어(리눅스) ps aux 프로세스 상태 생성 프로세스가 생성된 상태를 의미한다. 이때 PCB가 할당된다. 대기 상태(ready) 메모리 공간이 충분하면 메모리를 할당받고 아니면 아닌 상태로 대기하고 있으며 CPU 스케줄러로부터 CPU 소유권이 넘어오기를 기다리는 상태이다. 실행 상태(Running) CPU 소유권과 메모리를 할당받고 instruction을 수행 중인 상태를 의미한다. 중단 상태(blocked) 어떤 이벤트가 발생한 이후 기다리며.. 2022. 12. 29. [DB] 조인(join) 오늘은 DB 조인에 대해 알아보겠습니다. 조인 : 하나의 테이블이 아닌 두 개 이상의 테이블을 묶어서 하나의 결과물을 만드는 것 조인을 사용하는 이유는? 정규화와 관련있습니다. 정규화는 이상이 있는 관계를 분해하여 이상현상을 없애는 과정입니다. 이러한 분리되어 저장된 데이터에서 원하는 결과를 다시 도출하기 위해서 하나의 테이블로 합쳐야 합니다. 이때, 조인이 사용됩니다. 조인의 종류 1. INNER JOIN INNER Join은 왼쪽 테이블 A와 오른쪽 테이블 B의 두 행이 모두 일치하는 행이 있는 부분만 표기합니다. 즉, 두 테이블 간에 교집합을 나타냅니다. SELECT * FROM TableA A INNER JOIN TableB B ON A.key=B.key INNER Join은 다음과 같이 벤 다이.. 2022. 12. 23. 선형 자료 구조 본 게시글은 면접을 위한 cs 전공지식 노트를 토대로 작성되었습니다. 선형 자료 구조 : 자료를 구성하는 데이터를 순차적으로 나열시킨 형태 선형 자료 구조의 종류 선형 자료 구조의 종류로는 배열, 연결 리스트, 스택, 큐 등이 존재합니다. 1. 연결 리스트 각 데이터 요소들에 이전 데이터나 다음 데이터를 가리키는 참조를 부여하여 자료들을 연결하는 자료 구조를 말합니다. 이를 통해 공간적인 효율성을 극대화시킬 수 있습니다. 삽입과 삭제는 O(1)이 걸리며, 탐색에는 O(N)이 걸립니다.(참조를 따라가며 데이터를 전부 탐색해봐야 하므로 O(N)이 걸림) 2. 배열 같은 타입의 변수들로 이루어져 있고, 크기가 정해져 있으며, 인접한 메모리 위치에 있는 데이터를 모아놓은 집합입니다. 이때, 삽입과 삭제에는 O(.. 2022. 11. 3. [디자인 패턴] 싱글톤 패턴 싱글톤 패턴 : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 어디에 사용되는가? 주로 공통된 객체를 여러 개 생성해서 사용하는 DBCP와 같은 상황에서 많이 사용된다. 장점 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어든다. 단점 단위테스트를 원활하게 사용할 수 없다. 단위 테스트는 테스트가 서로 독립적이어야 하기 때문에 싱글톤 패턴은 각 테스트마다 독립적인 인스턴스를 만들기 어렵습니다. 또한, 모듈 간의 결합을 강하게 만들 수 있습니다. 결합도는 어떤 모듈이 다른 모듈에 의존하는 정도를 의미하며, 결합도는 낮게 설계하는 게 좋은 설계입니다. 구현 1. 생성자를 private으로 설정 2. private static 형.. 2022. 10. 26. 이전 1 다음