진짜 개발자
본문 바로가기

CS(Computer Science) (총 73개)

프로세스간 통신(IPC) - 수정중 위 그림처럼 각각의 프로세스는 완전히 독립되어있다.장점 : 다른 프로세스에게 영향을 주지도 받지도 않는다단점 : 프로세스간 통신을위해 커널영역에서 IPC를 제공해야 한다 프로세스의 종류1. 독립 프로세스 - 다른 프로세스로부터 영향을 주지도 받지도 않는 프로세스 2. 협력 프로세스- 반대로 다른 프로세스로부터 영향을 주고 받는 프로세스 협력프로세스 이유1. 정보 공유2. 계산 가속화 등등 프로세스간 통신이란- 협력적 프로세스들이 서로 데이터와 정보를 교환할 수 있도록 하는 기법 단일 PC에서의 프로세스간 통신1. 공유메모리- 공유메모리 구축시에만 커널명령어를 사용- 공유메모리를 사용할 때에는 일반명령어로 사용가능- 일반적으로 운영체제는 한프로세스가 다른 프로세스의 메모리로 접근하는것을 금한다 공유메모리는..
자료구조 - 스택(Stack)이란 스택(Stack) 이란- 스택은 원소의 삽입과 삭제가 "Top"에서만 이루어지도록 제한되어 있는 유한순서 리스트이다.- 삽입 하는 연산을 Push - 삭제 연산을 Pop 이라고 한다. 특징- 한쪽으로만 자료를 넣고 뺄 수 있는 구조로 되어 있어 마지막에 넣은 값이 가장 먼저 출력된다 (LIFO 구조 - Last in First Out(후입선출)) 활용1. 컴퓨터 시스템 - 실행시간 스택이라는 것이 있는데 이 스택의 임무는 호출과 복귀에 따른 실행순서를 정확히 관리 하는 것이다. 서브 프로그램이 호출되면 시스템은 활성화 레코드 라는 것을 만들어 스택의 TOP에 삽입한다 활성화 레코드에는 서브 프로그램의 실행이 끝난뒤 제어를 되돌려 주어야 하는 복귀 주소와, 지역변수 등이 들어 있다 때문에 스택의 TOP에는..
자료구조 - 이진 트리(Binary Tree)란 (이진탐색트리와의 차이점) - 수정중 이진트리(Binary Tree)- 노드의 최대 차수가 2인 트리 편향 이진트리- 말 그대로 노드들이 한쪽으로 편향되어 생성된 이진트리를 말한다 *문제점 1. 탐색속도 저하 : 이진탐색 트리일 경우 편향트리로 형성이 되면 E를 탐색하기 위해 모든 노드를 탐색해야 하므로 연결리스트의 순차탐색과 탐색시간이 동일하다.2. 공간 낭비 : 연결리스트로 구현할 경우는 문제가 없지만 인덱스로 구현할 경우 노드의 개수가 i 라면 최대 2^i 의 공간을 필요로 한다. 포화 이진트리- 높이가 h 일때 최대 노드의 수는 2^(h+1) -1 개이다 이때 이진트리에서 최대 노드의 수를 만족하는 트리를 포화 이진트리라 한다 (ex - 높이가 3인경우 최대 노드 수 : 2^6 - 1 = 15) 완전 이진 트리- 높이가 h인 트리에서..
자료구조 - 트리(Tree)란 트리란- 노드들을 간선으로 연결한 계층형 자료구조- 제일위의 하나의 노드를 루트노드로 하여 나머지 노드들이 간선으로 연결 됨- 하나의 노드는 그자체로 트리이며 루트가 된다용어1. 노드의 차수 - 한노드가 가진 서브트리의 수ex) A의 차수 : 3, B의 차수 : 2, C의 차수 : 0, D의 차수 : 3 2. 리프노드(단말,터미널) - 차수가 0인 노드ex) 리프노드 : E, J, K, L, H, I 3. 자식 노드 - 노드에 연결된 서브트리의 루트노드들ex) A의 자식노드 : B, C, D 4. 부모 노드 - 노드에 연결된 한단계 상위 레벨 노드ex) I의 부모노드 : D 5. 형제 노드 - 부모가 같은 노드ex) G, H, I 는 형제노드 6. 트리의 차수 - 트리노드들의 차수중 최대 차수ex) 트리..