승학

고정 헤더 영역

글 제목

메뉴 레이어

승학

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (46)
    • 알고리즘 (1)
    • 용어정리 (6)
    • 기술정리 (7)
    • 프로젝트 회고 (4)
    • 네트워크 (7)
    • 데이터베이스 (8)
    • 운영체제 (4)
    • 자료구조 (9)

검색 레이어

승학

검색 영역

컨텐츠 검색

전체 글

  • Multi Process 와 Multi Thread

    2024.03.06 by 승학이

  • Multi thread

    2024.03.06 by 승학이

  • Multi process

    2024.03.06 by 승학이

  • Process

    2024.03.06 by 승학이

  • Hash table에서 collision(충돌)발생

    2024.03.06 by 승학이

  • Hash table

    2024.03.03 by 승학이

  • Hash table & BST(Binary Search Tree)

    2024.02.29 by 승학이

  • Queue vs Priority queue

    2024.02.29 by 승학이

Multi Process 와 Multi Thread

멀티 프로세스와 멀티 스레드 비교 멀티 스레드는 멀티 프로세스보다 적은 메모리 공간을 차지하고 Context Switching이 빠릅니다. 멀티 프로세스는 멀티 스레드보다 많은 메모리공간과 CPU 시간을 차지합니다. 멀티 스레드는 동기화 문제와 하나의 스레드 장애로 전체 스레드가 종료될 위험이 있습니다. 멀티 프로세스는 하나의 프로세스가 죽더라도 다른 프로세스에 영향을 주지 않아 안정성이 높습니다. 두 방법은 동시에 여러 작업을 수행한다는 측면에서 유사한 면이 있습니다. 적용할 시스템에 따라 두 방법의 장단점을 고려하여 적합한 방식을 선택해야 합니다. 메모리 구분이 필요할때는 멀티 프로세스가 유리합니다. 반면에 Context switching이 자주 일어나고 데이터 공유가 빈번한 경우, 그리고 자원을 효..

운영체제 2024. 3. 6. 18:01

Multi thread

멀티 스레드란? Thread는 한 프로세스 내에서 실행되는 동작의 단위입니다. 각 Thread는 속해있는 process의 stack 메모리를 제외한 나머지 메모리 영역을 공유할 수 있습니다. 스레드는 프로세스 내에서 독립적인 기능을 수행합니다. 즉, 독립적으로 함수를 호출함을 의미하고 이를 위해 stack 메모리가 각자 필요하다. 멀티 스레드란 하나의 프로세스가 동시에 여러개의 일을 수행할 수 있도록 해주는 것입니다. 즉, 하나의 프로세스에서 여러 작업을 병렬로 처리하기 위해 멀티 스레드를 사용합니다. 멀티 스레드에서는 한 프로세스 내에 여러 개의 스레드가 있고, 각 스레드들은 Stack 메모리를 제외한 나머지 영역(code, date, heap) 영역을 공유하게 됩니다. Thread와 multi thr..

운영체제 2024. 3. 6. 17:29

Multi process

Multi Process 란? 멀티 프로세스란 2개 이상의 프로세스가 동시에 실행되는 것을 말합니다. 동시에라는 말은 동시성과 병렬성 두 가지를 의미합니다. 동시성은 CPU core가 1개일 때, 여래 프로세스를 짧은 시간동안 번갈아 가면서 연산을 하게 되는 시분할 시스템으로 실행되는 것입니다. 즉 동시에 실행되는 것 같아 보인다. 병렬성은 CPU core가 여러개일 때, 각각의 core가 각각의 프로세스를 연산함으로써 프로세스가 동시에 실행되는 것입니다. 실제로 동시에 여러 작업이 처리된다. Multi Process 정의 멀티 프로세스란 2개 이상의 프로세스가 동시에 실행되는 것을 말합니다. 이 때 프로세스들은 CPU와 메모리를 공유하게 됩니다. 메모리의 경우에는 여러 프로세스들이 각자의 메모리 영역을..

운영체제 2024. 3. 6. 16:56

Process

Process란? 실행파일(program)이 memory에 적재되어 CPU를 할당받아 실행되는 것을 process라고 합니다. 프로세스란 실행중인 프로그램을 뜻합니다. 즉, 실행파일 형태로 존재하던 프로그램이 메모리에 적재되어 CPU에 의해 실행되는 것을 프로세스라고 합니다. (+프로그램은 단순히 명령어 리스트를 포함하는 파일입니다.) Memory에 적재 memory는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억장치 입니다. 프로그램이 CPU에서 실행되려면 해당 내용이 메모리에 적재된 상태여야만 합니다. 프로세스에서 할당되는 메모리 공간은 Code, Date, Stack, Heap 4개의 영역으로 이루어져 있으며, 각 Process마다 독립적으로 할당받습니다. CODE 영역 실행한 프로그램의 코드가..

운영체제 2024. 3. 6. 15:56

Hash table에서 collision(충돌)발생

Hash table에서 collision이 발생하면 어떻게 되나요? 대표적으로 2가지 방법으로 해결합니다. 첫 번째, open addressing 방식은 collision이 발생하면 미리 정한 규칙에 따라 hash table의 비어있는 slot을 찾습니다. 빈 slot을 찾는 방법에 따라 크게 Linear Probing, Quadratic Probing, Double Hashing으로 나뉩니다. 두 번째, seperate chaining 방식은 linked list를 이용합니다. 만약에 collision이 발생하면 linked list에 노드(slot)를 추가하여 데이터를 저장합니다. Open addressing open addressing 방식은 collsion이 발생하면 미리 정한 규칙에 따라 has..

자료구조 2024. 3. 6. 15:04

Hash table

Hash table는 어떤 자료구조인가? hash table은 효율적인 탐색(빠른 탐색)을 위한 자료구조로써 key-value쌍의 데이터를 입력받는다. hash function h에 key값을 입력으로 넣어 얻은 해시값 h(k)를 위치로 지정하여 key-value 데이터 쌍을 저장합니다. 저장, 삭제, 검색의 시간복잡도는 모두 0(1)입니다. Hash table (key, value) 데이터 쌍을 저장하기 위한 방법으로 직접 주소화 방법이 잘 맞지 안습니다. hash table은 hash function h를 이용해서 (key, value)를 index: h(k)에 저장합니다. 이때 "키 K값을 갖는 원소가 위치 h(k)에 hash된다. 또는 "h(k)는 키 k의 해시값이다" 라고 표현합니다. key는 ..

자료구조 2024. 3. 3. 14:55

Hash table & BST(Binary Search Tree)

BST는 어떤 자료구조 인가? 이진탐색트리(Binary Search Tree)는 정렬된 tree 입니다. 어느 node를 선택하든 해당 node의 left subtree에는 그 node의 값보다 작은 값들을 지닌 node들로만 이루어져 있고, node의 right subtree에는 그 node의 값보다 큰 값들을 지닌 node들로만 이루어져 있는 binary tree입니다. 검색과 저장, 삭제의 시간복잡도는 모두 O(logn)이고, worst case는 한쪽으로 치우친 tree가 됐을 때 O(n)입니다. BST는 저장과 동시에 정렬을 하는 자료구조입니다. worst case 시간복잡도는 균형이 많이 깨져서 한 쪽으로 치우친 BST의 경우에 나타나게 됩니다. 이렇게 되면 Linked list와 다를게 없어..

자료구조 2024. 2. 29. 12:43

Queue vs Priority queue

Queue vs Priority queue(우선순위큐)를 비교하여 설명 Queue 자료구조는 시간 순서상 먼저 집어 넣는 데이터가 먼저 나오는 선입선출(FIFO)구조로 저장하는 형식입니다. 이와 다르게 우선순위큐는 들어간 순서에 상관없이 우선순위가 높은 데이터가 먼저 나옵니다. Queue의 operation 시간복잡도는 enqueue O(1), dequeue O(1)이고, Priority queue는 push O(logn), pop O(logn) 입니다. 우선순위큐를 구현하라고 하면 Heap을 구현하면 됩니다. Heap 자료구조는 이진완전트리를 활용하는 것이고, 대표적인 operation의 시간복잡도는 push O(logn), pop O(logn) 입니다. Heap Heap은 그 자체로 우선순위큐의 구현..

자료구조 2024. 2. 29. 11:53

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 ··· 6
다음
TISTORY
승학 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바