분류 전체보기 141

운영체제 - 가상 메모리

가상 메모리 개념 페이징 시스템 다중단계 페이징 시스템과 페이징 시스템 장점 페이지 폴트 페이지 교체 알고리즘 세그멘테이션 기법 가상메모리 동작 총정리 페이징 시스템 (Paging system) 크기가 동일한 페이지로 가상 주소공간과 이에 매칭하는 물리 공간을 관리 하드웨어 지원 필요 ex) intel x86(32bit) 시스템에서는 4KB, 2MB, 1GB 지원 ex) 리눅스에서는 4KB로 paging 페이지 번호를 기반으로 가상주소/물리주소 매핑정보를 기록/사용 리눅스 -> 프로세서(4GB)의 PCB(process control block)에 Page Table 구조체를 가리키는 주소가 들어있음 page table에는 가상주소와 물리주소간 매핑정보가 있음 cpu가 가상주소에 접근하려하면 가상주소를 통..

패스트캠퍼스 2020.12.10

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 50회차 미션

환급미션 50일째 소프트웨어 베이직 - 자료구조와 알고리즘 - 17. 그래프 - 너비 우선 탐색 소프트웨어 베이직 - 자료구조와 알고리즘 - 18. 탐색 - 이진 탐색 트리 운영체제 - 가상 메모리의 이해 - 페이징 시스템 운영체제 - 가상 메모리의 이해 - 다중 단계 페이징 시스템과 페이징 시스템 장점 운영체제 - 가상 메모리의 이해 - 페이징 폴트 운영체제 - 가상 메모리의 이해 - 페이지 교체 알고리즘 소프트웨어 베이직 - 자료구조와 알고리즘 - 17. 그래프 - 너비 우선 탐색 - 너비 우선 탐색 (Breadth Frist Search) 너비를 우선으로 하는 탐색 알고리즘 Queue 자료구조를 기반으로 한다. 고급 그래프 탐색 알고리즘에서 자주 활용되기 때문에 고급 개발자가 되기 위해서 너비 우선..

패스트캠퍼스 2020.12.07

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 49회차 미션

환급미션 49일째.. 운영체제 - 프로세스와 스케쥴러의 이해 - 가상 메모리 개념 소프트웨어 베이직 - 자료구조와 알고리즘 - 그래프 - 깊이 우선 탐색 운영체제 - 프로세스와 스케쥴러의 이해 - 가상 메모리 개념 - 가상 메모리 (Virtual Memory System) 실제 각 프로세스마다 충분한 메모리를 할당하기에는 메모리 크기에 한계가 있다. 가령, Linux os에서는 하나의 프로세스가 4GB를 차지하는데 일반적으로 사용되는 컴퓨터의 메모리 용량은 8~16GB 정도를 사용한다. 또한 폰 노이만 구조를 기반으로 하기 때문에 코드는 반드시 메모리 안에 있어야 한다. -> 이러한 문제점을 해결하기 위해 가상 메모리의 개념이 필요한 것이다. ** 가상 메모리 기술은 운영체제에서 큰 부분을 차지하고, 프..

패스트캠퍼스 2020.12.06

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 48회차 미션

환급미션 48일째... 소프트웨어 베이직 - 자료구조와 알고리즘 - 15. 그래프 - 그래프의 개념과 구현 소프트웨어 베이직 - 자료구조와 알고리즘 - 16. 그래프 - 깊이 우선 탐색 운영체제 - 가상 메모리의 이해 - 01. 가상 메모리 개념 운영체제 - 가상 메모리의 이해 - 02. 페이징 시스템 운영체제 - 가상 메모리의 이해 - 03. 다중 단계 페이징 시스템과 페이징 시스템 장점 소프트웨어 베이직 - 자료구조와 알고리즘 - 15. 그래프 - 그래프의 개념과 구현 - 그래프 (Graph)의 개념 사물을 정점(Vertex)과 간선(Edge)으로 나타내기 위한 도구 2가지 방식으로 구현할 수 있다. •인접 행렬 (Adjacency Matrix) : 2차원 배열을 사용 •인접 리스트(Adjacency..

패스트캠퍼스 2020.12.05

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 47회차 미션

환급미션 47일째... 운영체제 - 쓰레드의 이해 - 04. 세마포어 운영체제 - 쓰레드의 이해 - 05. deadlock과 starvation 소프트웨어 베이직 - 자료구조와 알고리즘 - 13. 우선순위 큐 소프트웨어 베이직 - 자료구조와 알고리즘 - 14. 탐색 - 순차 탐색과 이진 탐색 운영체제 - 쓰레드의 이해 - 04. 세마포어 이전 강의에서 다루었던 내용을 살펴보면 동기화 이슈 해결 방안에는 여러 가지가 있었다. •Mutual exclusion (상호 배제) •여러 스레드가 변경하는 공유 변수에 대해 Exclusive Access •특정 스레드가 공유 변수를 갱신하는 동안 다른 스레드가 동시에 접근하지 못하도록 막을 것 * Mutual exclusion (상호 배제) •임계 자원(critica..

패스트캠퍼스 2020.12.04

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 46회차 미션

환급미션 46일째.... 소프트웨어 베이직 - 자료구조와 알고리즘 - 11. 트리 - 이진 트리 소프트웨어 베이직 - 자료구조와 알고리즘 - 12. 트리 - 이진 트리의 구현 및 순회 운영체제 - 쓰레드의 이해 - 02. 스레드 장단점 운영체제 - 쓰레드의 이해 - 03. 스레드 동기화 문제 소프트웨어 베이직 - 자료구조와 알고리즘 - 11. 트리 - 이진 트리 트리(Tree)는 나무를 뒤집은 듯한 형태의 자료구조이다. 최상단 노드를 '루트 노드(root node)'라고 하고, 루트 노드에서 가지를 이용해 각각의 노드로 연결된다. 트리에서 끝에 해당하는 노드를 '리프 노드(leaf node)'라고 한다. 각각의 노드는 부모/자식의 관계를 가지기도 하고 37, 50 사이의 관계는 '형제 노드'라고 한다. ..

패스트캠퍼스 2020.12.03

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 45회차 미션

환급미션 45일째... 소프트웨어 베이직 - 자료구조와 알고리즘 - 09. 정렬 - 계수 정렬 소프트웨어 베이직 - 자료구조와 알고리즘 - 10. 정렬 - 기수 정렬 운영체제 - 쓰레드의 이해 - 01. 스레드 개념 운영체제 - 쓰레드의 이해 - 02. 스레드 장단점 운영체제 - 쓰레드의 이해 - 03. 스레드 동기화 문제 소프트웨어 베이직 - 자료구조와 알고리즘 - 09. 정렬 - 계수 정렬 - 계수 정렬 (Counting sort) : 데이터의 개수를 세는 정렬 알고리즘 데이터의 크기를 기준으로 분류 O(N)의 시간 복잡도를 가진다. 동작이 빠른 편 데이터의 크기가 한정적일 때 사용할 수 있다. 원소들을 살펴보면 데이터의 크기가 0~3까지의 범위 내에 있다. 따라서 인덱스 값이 0~3까지로 정해진다...

패스트캠퍼스 2020.12.02

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 44회차 미션

환급미션 44일째... 운영체제 - 프로세스와 스케쥴러의 이해 - 18. 참고_IPC 기법1 운영체제 - 프로세스와 스케쥴러의 이해 - 19. 참고_IPC 기법2 운영체제 - 프로세스와 스케쥴러의 이해 - 프로세스 총정리와 프로그램 성능 개선 방법의 이해 소프트웨어 베이직 - 자료구조와 알고리즘 - 08. 정렬 - 퀵 정렬 운영체제 - 프로세스와 스케쥴러의 이해 - 18. 참고_IPC 기법1 - 다양한 IPC 기법 (InterProcess Communication) 1. file 사용 2. Message Queue 3. Shared Memory 4. Pipe 5. Signal 6. Semaphore 7. Socket ... 2번부터는 커널공간을 공유한다는 특징이 있다. 위의 기법들을 자세히는 다루지 않을..

패스트캠퍼스 2020.12.01

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 43회차 미션

환급미션 43일째.. 운영체제 - 프로세스와 스케쥴러의 이해 - 15. 컨텍스트 스위칭 개념 정리 운영체제 - 프로세스와 스케쥴러의 이해 - 16. 프로세스 간 커뮤니케이션 운영체제 - 프로세스와 스케쥴러의 이해 - 17. 프로세스와 IPC - 프로세스와 컨텍스트 스위칭 context switching (문맥 교환) - cpu에 실행할 프로세스를 교체하는 기술 •실행 중지할 프로세스 (프로세스1) 정보를 해당 프로세스의 PCB 정보를 메인 메모리에 저장 •다음 실행할 프로세스 (프로세스2) 정보를 메인 메모리에 있는 해당 PCB 정보 (PC, SP 등)를 CPU에 넣고 실행 ( 레코드판을 돌리면서, 핀의 위치를 바꾼다는 느낌 ) *디스패치 (dispatch) : ready 상태의 프로세스 -> runni..

패스트캠퍼스 2020.11.30

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 42회차 미션

환급미션 42일째... 운영체제 - 프로세스와 스케쥴러의 이해 - 14. 컨텍스트 스위칭 원리 소프트웨어 베이직 - 자료구조와 알고리즘 - 07. 정렬 - 선택 정렬과 삽입 정렬 운영체제 - 프로세스와 스케쥴러의 이해 - 14. 컨텍스트 스위칭 원리 - 프로세스, 컨텍스트 스위칭 •PC(program counter) + SP(stack pointer) •Stack, HEAP, DATA(BSS,DATA), TEXT(code) 우선, 전역변수 global_data1은 초기화되지 않았으므로 BSS에, global_data2는 초기화되었으므로 DATA 영역에 저장된다. 프로그램을 실행하면 stack영역에 return address값이 먼저 반환되고 PC = 0000h (program counter) SP = F..

패스트캠퍼스 2020.11.29