분류 전체보기 (13) 썸네일형 리스트형 (WIL) WEEK11 : pintOS Project 03 - 2 (Stack Growth ~ Swap In/Out) Team4 Notion Link (정리가 잘 되어있진 않다...) https://meokee-zzo.notion.site/W10-Pintos-Project03-TEAM-4-d2a1fcef42994df598abe3a229be2706 W10 Pintos: Project03 TEAM 4 Sequential Schedule meokee-zzo.notion.site 정글에 오고, C 과정이 시작되고나서부터 항상 느끼는 점이있다. 빠르게 치고 나가는 특정 반 사람들보다 많이 느리게, 해당 프로젝트가 끝나가는 무렵에 비로소 해당 프로젝트 주차의 코드 구현, 작동 원리, 이 함수들을 왜 구현하며 어디에서 필요한 지, 이 함수와 저 함수는 역할이 비슷한 것 같은데 어떻게 다른 지 등이 두루뭉술하지만 여차저차 머릿 속에서.. (WIL) WEEK10 : pintOS Project 03 - 1 (Virtual Memory) https://meokee-zzo.notion.site/Anonymous-Page-aab7cad6e4bf4127bfec0c89a3cfe1c9 Anonymous Page Anonymous page : non-disk based image 구현 meokee-zzo.notion.site https://meokee-zzo.notion.site/CSAPP-CHAPTER-9-baa0c34c1c274d959a8e8106724d82bc CSAPP : CHAPTER 9 가상메모리 VM(virtual memory) 가상메모리 : 메모리를 보다 효율적이고 더 적은 에러를 갖도록 관리하기 위한 메인 메모리의 추상화 meokee-zzo.notion.site (WIL) WEEK09 : pintOS Project 02 (USER PROGRAM) https://www.notion.so/meokee-zzo/W09-Pintos-Project02-TEAM-7-54c321a58d0c4113a8636cb08441d108 - Team 7 공동 WIL 정리 노션 W09 Pintos: Project02 TEAM 7 FAIL 목록 www.notion.so https://meokee-zzo.notion.site/pintOS-Project02-425a4452503b495595e5e54272559369 pintOS Project02 나만 알아볼 수 있는 pintOS project02 userprogram 코드 흐름 정리 meokee-zzo.notion.site (WIL) WEEK08 : pintOS Project 01 - 미완 Interrupt 통해서 sleep 상태의 스레드 깨우기 interrupt 현 프로그램의 실행을 일시적으로 중단시키고 다른 프로그램이나 서브루틴을 시작하게 하는 외부 장치 혹은 내부의 이벤트에 의해 프로세서에 보내지는 신호 인터럽트는 동시성 관리나 현대 컴퓨터 시스템 상에서의 flow of control(실행 흐름 제어)에 있어서 중요한 메커니즘 인터럽트 발생 → 프로세서: 스택으로 향하는 PC와 다른 레지스터를 포함하는 현재 프로그램 상태를 저장 → 프로세서: 메모리 내 인터럽트 핸들러(== ISR, interrupt service routine)가 위치한 곳으로 jump → 인터럽트 핸들러 completes its task → 미리 저장된 인터럽트 발생 프로그램으로 returns back → 인터럽트.. TIL : 230331(FRI), C 문법 복습, Singly-Linked-List ADT 구현 준비 ◎ C 문법 복습 ● 학부 고급 C 프로그래밍 및 실습 수업 문제들 풀이 (포인터 / 구조체 / 동적메모리할당) => 오랜만에 해서 헷갈리는 것이 많다. ● malloc 함수와 realloc 함수 : realloc 사용의 이유와 방법이 기억이 나지 않아, 해당 내용들을 다시 한번 찾아보고 정리 malloc - 동적으로 메모리를 할당하는 함수 (힙 영역에 메모리 할당) - 라이브러리가 꼭 필요하다. #include #include // N개의 정수를 입력 받아 동적으로 메모리를 N만큼 할당 받고, // 배열에 저장하여 배열의 모든 요소의 합을 출력 int main(void) { int N; scanf("%d", &N); int *arr = (int *)malloc(sizeof(int) * N);// 일반적.. TIL : 230330(THU), C의 기본 자료형 / int · long 자료형 비교 ◎ C의 기본 자료형 ● C에서의 두 가지 서로 다른 숫자형 : 정수형 & 소수형(유한소수) ● 정수형 : 유부호(signed)와 무부호(unsigned)의 두 가지 유부호(signed) 정수의 값이 0 혹은 양수라면 해당 정수의 맨 좌측 비트(부호 비트 sign bit)는 0, 정수의 값이 음수라면 맨 좌측 비트가 1 16비트 정수의 최대값 = 0111111111111111 -> 10진수 환산 시, '32,767' (= 2^15 - 1) 32비트 정수의 최대값 = 01111111111111111111111111111111 -> 10진수 환산 시, '2,147,483,647' (= 2^31 - 1) 무부호(unsigned) 정수 : 부호 비트가 없는 정수 16비트 무부호 정수의 최대값 = 65,535 (.. 자료구조 : 이진 트리(Binary Tree) / 이진 탐색 트리(Binary Search Tree) 이진 트리(Binary Tree) 사전적 정의 : 각각의 노드가 최대 두 개의 자식 노드를 가지는 트리 자료구조의 하나로, 자식 노드를 각각 왼쪽 자식 노드와 오른쪽 자식 노드라고 한다. 이진 트리의 모든 노드는 왼쪽 자식 노드와 오른쪽 자식 노드만 가진다. 모든 노드의 차수가 최대 2 이진 트리의 순환적 구성 노드의 왼쪽 자식 노드를 루트로 하는 왼쪽 서브트리도 이진 트리 노드의 오른쪽 자식 노드를 루트로 하는 오른쪽 서브 트리도 이진 트리 이진 트리의 특성 N개의 노드를 가진 이진 트리는 항상 (N - 1)개의 간선을 가진다. => 루트를 제외한 (N - 1)개의 노드가 부모 노드와 연결되는 하나의 간선을 가지기 때문이다. 높이 h의 이진 트리는 최소 h + 1개 최대 2^(h+1) - 1개의 노드를.. WEEK02 : 계획 및 일일 회고 - 재귀에 대하여 : 고등 수학의 수열을 공부할 때, 점화식을 세우는 것과 비슷하다. Base case는 점화식의 초항과 연관하여 생각하면 좋다. - 모든 문제에 대해서 브루트 포스로 풀이를 할 줄 알아야한다. 보다 효율적인 알고리즘으로 풀이할 방법이 떠오르지 않는다면, 브루트 포스로 풀 수 있어야 한다는 것이다. - 2주차부터는 시간 복잡도가 훨씬 중요해질 것이다. 선형 시간이나, nlogn 정도의 시간만 걸리도록 짜야할 듯하다. (max) - 소프트웨어 개발자로서 '무한루프'가 포함되는 코드를 짜는 것은 좋은 습관이 아니다. 최대한 지양하는 연습을 해야될 듯 하다. (어떠한 프로그램이든, 무한루프를 포함하지 않아도 프로그램을 짜낼 수 있다는 증명이 있다고 한다. 직접 해결 못함... * 자료구조 공부.. 이전 1 2 다음