profile
FE연습생
post-thumbnail

[PINTOS-KAIST] project. 2-2 - 개념 - 파일 디스크립터 테이블(fdt)과 파일 디스크립터(fd) 관련 syscall call들에 대한 이해와 구현

쓰는 중\~~https://m.blog.naver.com/songblue61/221391888403https://woonys.tistory.com/entry/PintOS-Project-2-User-Program-7-System-Call%EC%A0%95

2023년 5월 29일
·
0개의 댓글
·
post-thumbnail

[PINTOS-KAIST] project. 2-1 - 개념 - Dual-mode,Pintos 코드에서의 interrupt와 콘텍스트 저장과 복원, 시스템 콜의 호출과 실행

mode bit:1: 사용자 모드 -> user mode (제한된 기계어 명령만 가능)0: 모니터 모드(OS 코드 수행) -> kernel mode (특권 명령까지 가능)구현에 따라 레지스터일 수도, 회로 내의 물리적 비트가 될 수도 있다.사용자 프로그램의 잘못된 수행

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

[PINTOS-KAIST] project. 1-2 - 개념 - 인터럽트, 예외

자... 이제부터 말 하려던 본론의 서두다. Project 1에서부터 다뤄지는 인터럽트를 알아본다.아래는 하드웨어적인 컴퓨터의 구조이다.CPU가 운영체제에게 넘어가는 경우는 interrupt, exception 두 경우가 있다. 프로세서는 보통 예외(exception)

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

[PINTOS-KAIST] project. 1-1 - 개념 - 프로세서, 프로세스, CPU와 기억장치들

하드웨어적인 측면에서 :컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛.CPU, GPU와 같은 중앙처리장치를 일컫는다.폰노이만 아키텍쳐에 의해 만들어졌다면, 적어도 하나 이상의 ALU(Arithmetic Logic Unit)와 레지스터(Register)를 내장하고 있어

2023년 5월 25일
·
0개의 댓글
·

malloc()과 mmap()의 차이

큰 메모리를 시스템으로부터 얻어오는 것으로 시작. 리눅스의 경우 brk/sbrk 가 메모리 할당. sbrk : space break 함수로, 힙 크기를 늘이거나 줄이는 함수다. 커널의 brk 포인터(힙의 맨 끝을 가리키는 포인터)에 incr만큼 크기를

2023년 5월 20일
·
0개의 댓글
·
post-thumbnail

[PINTOS-KAIST] project. 2-0 WIL syscall에 의한 user-kernel context switching과 부모-자식 프로세스 생성에 대한 이해과 구현

PROJECT 1: THREADS (2023 4/26 수요일 밤까지) - 1주PROJECT 2: USER PROGRAMS (2023 5/8 월요일 밤까지) - 1.5주이번 주차가 첫 주차보다 내용이 훨씬 많다고 느꼈다... SYSCALL의 개념과 fork, wait,

2023년 5월 8일
·
0개의 댓글
·
post-thumbnail

[PINTOS-KAIST] project. 1-0 WIL 마주했던 어려움들을 중심으로 CPU 스케줄링 구현 회고

PROJECT 1: THREADS\_ (2023 4/26 수요일 밤까지) - 1주PROJECT 2: USER PROGRAMS (2023 5/8 월요일 밤까지) - 1.5주동일 프로그램들의 전 기수 선배들이 당시 적었던 회고록들을 열심히 열람했다. 눈에 띄었던 내용 중

2023년 4월 26일
·
0개의 댓글
·
post-thumbnail

레드-블랙 트리(rbtree) 노드 삽입 연산에 대한 이해와 구현

레드-블랙 트리의 삽입은 단순 이진 탐색 트리에서 하는 것과 동일하나, 새로 삽입되는 노드의 색은 무조건 붉은색인 것으로 시작한다. 삽입 연산을 들여다보기 전 rbtree의 속성 5가지를 정리하고 들어가자. 삽입 연산에서는 삽입으로 인한 속성이 깨지는 상황을 재조정한다

2023년 4월 11일
·
0개의 댓글
·
post-thumbnail

레드-블랙 트리(rbtree) 노드 삭제 연산에 대한 이해와 구현

레드-블랙 트리 노드의 삭제 연산은 일반적인 이진 탐색 트리(BST)의 삭제 연산과 같다. 기본적으로 이진 탐색 트리에서 삭제를 수행할 때에는 왼쪽 서브트리에서의 최댓값이나, 오른쪽 서브트리에서의 최솟값을 삭제한 노드의 위치에 삽입한다. 다르게 말하면, successo

2023년 4월 5일
·
0개의 댓글
·

C 문법 중 calloc과 malloc

malloc()과 calloc()은 메모리 할당을 위한 함수입니다. 그러나 이 두 함수는 약간의 차이가 있습니다.할당된 메모리는 이전에 할당된 메모리의 내용과는 무관하며, 초기화되지 않습니다.즉, 할당된 메모리는 모두 0으로 설정됩니다.따라서, calloc() 함수는

2023년 4월 3일
·
0개의 댓글
·

절차지향언어와 객체지향언어

절차지향언어는 프로그램을 일련의 절차나 순서로 구성하여 작성한다.프로그램의 기능을 수행하기 위해 데이터를 처리하는 방법에 중점을 두며, 각각의 함수나 서브루틴 등으로 나누어 작성한다. 대표적으로 C, Pascal, Fortran 등이 있다.절차지향언어는 개체를 순차적으

2023년 4월 3일
·
1개의 댓글
·
post-thumbnail

자료구조 구현 - C를 통한 이진 탐색 트리의 연산 구현

이진탐색트리는 이진트리의 일종으로서, 다음과 같은 조건을 만족해야 한다.왼쪽 서브트리의 모든 노드들은 부모 노드보다 작아야 한다.오른쪽 서브트리의 모든 노드들은 부모 노드보다 커야 한다.왼쪽과 오른쪽 서브트리도 이진탐색트리여야 한다.즉, 이진탐색트리는 이진트리의 일종으

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

C 문법 중 도트연산자와 ( . ) 화살표연산자 ( -> )

도트연산자와 ( . ) 화살표연산자 ( -> ) 모두 접근이라는 의미로 사용된다. 처음부터 다루어보자.구조체란 여러 자료형이 모여 하나의 큰 사용자 정의 자료형을 구성한 것이다. 여기서 우리가 구조체를 정의한다는 것은 어떤 의미일까?바로 Stack 영역에 구조체의 크기

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

자료구조 구현 - C를 통한 이진 트리와 순회의 구현

이진 트리 (binary tree) 이진트리는 모든 노드의 차수가 최대 2인 트리 구조를 말한다. 이진트리는 정렬되지 않은 데이터를 저장하고 탐색, 삽입, 삭제 등의 연산을 수행할 수 있으며, 시간복잡도는 경우에 따라 유동적일 수 있다. 일반적으로 O(n)이다.

2023년 4월 1일
·
0개의 댓글
·

C 문법 중 포인터 변수의 위치

C 언어에서 포인터 변수를 선언할 때, 포인터 변수의 타입 이름 앞에 '' 기호를 사용하여 선언할 수 있습니다. 이때 '' 기호가 타입 이름 앞에 붙으면 포인터 변수를 선언하는 것이고, 변수 이름 뒤에 붙으면 해당 포인터 변수가 가리키는 메모리 공간에 저장된 값을 참조

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

C 입문 - 긱스포긱스 C Pointer Basics

값 바꾸기의 공식과도 같은 대표적인 예제이다. C에서 배열 매개 변수는 항상 포인터로 처리됩니다. 따라서 다음 두 문장은 같은 의미를 갖습니다.위에서 \[]는 함수가 배열을 받고자 하고 있음을 분명히 하기 위해 사용됐지만, 아무 것도 변경하지는 않습니다. 사람들은 \[

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

C 입문 - 긱스포긱스 C Functions

매개 변수가 함수에 전달되면 함수에 전달되기 전에 모든 매개 변수의 값이 평가됩니다. 매개 변수 평가 순서는 무엇입니까? - 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로? 평가 순서가 왼쪽에서 오른쪽으로 정렬된 경우, 출력이 567이어야 합니다. 그러나 평가 순서가 오

2023년 4월 1일
·
0개의 댓글
·