stddb
close
프로필 사진

stddb

github: @denev6

  • 분류 전체보기 (205) N
    • TIL (15)
    • WIL (9)
    • 별 잡다 (26)
    • 문제풀이 (71) N
    • 구현하기 (30)
    • 컴퓨터 이론 (35) N
      • CS:APP (16) N
    • with Nest (4)
  • 홈
  • 태그
  • 방명록
[CS:APP] Chap 9.1 - 9.8 : Virtual Memory

[CS:APP] Chap 9.1 - 9.8 : Virtual Memory

가상 메모리가 사용된 뒷 배경을 먼저 보자. 주된 내용은 메모리 공유에 있어 어려움을 겪었다는 것이다.여러 프로세스가 CPU와 메모리를 공유했고, CPU는 수유가 증가해도 점진적으로 느려지지만 메모리는 한계가 명확했다.메모리가 부족하면 일부 프로세스는 실행을 할 수 없다.마구 우겨넣겠다고 되는것도 아니지. 한 프로세스가 다른 프로세스의 메모리를 침범하면 원하는 작동도 안되는데다가, 그 결과는 예측 할 수가 없다. 가상 메모리의 주요 기능 3가지는 이와 같다.효율성 : 물리 메모리를 디스크에 있는 주소 공간의 캐시처럼 사용한다. 필요한 데이터만 메모리에 유지한다.단순성 : 각 프로세스에 균일한 주소 공간을 제공한다. → 즉, 이것은 메모리 관리가 쉬워지게 한다.보호 : 각 프로세스의 주소 공간은 다른 프로..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 4. 23.
[CS:APP] Chap 8 : Exceptional Control Flow

[CS:APP] Chap 8 : Exceptional Control Flow

Exceptional Control Flow : 예외적인 제어흐름프로그램의 각 명령어는 메모리의 특정 주소에 위치하며, 이러한 전이를 control transfer, 제어 이동이라고 한다.이러한 제어 이동의 연속이 바로 제어 흐름이다.가장 단순한 경우는 지금 하는 명령어와 다음 해야 할 것이 메모리 상에서 인접해있는 부드러운(smooth) 흐름이다.일반적으로 이러한 부드러운 흐름에서 벗어나 바로 다음이 해야 할 일이 아닌 jump, call, return과 같은 익숙한 명령어들로 인해 발생한다.이러한 명령어들은 프로그램 내 변수로 표현되는 내부 상태 변화에 대응 할 수 있도록 프로그램이 반응하게 해주는 필수적 메커니즘이다.하지만 시스템은 내부 프로그램 변수로 포착되지 않거나, 프로그램 실행과 직접적으로 ..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 4. 23.
C언어로 레드 블랙 트리 구현하기

C언어로 레드 블랙 트리 구현하기

개발 환경 신규 구성도 어렵고, 간만에 C 한다는게 이게 뭔가 저게 뭔가 어디서부터 해야하나 복잡했다.막상 다 구현하고 보니 룰 위반상태로 완성한 상황도 나왔다. 뭘 대체 어떻게 해야 이게 나오는지 아직도 모르겠다.결과적으론 마감일 하루 전까지 제 힘으로 쭉 시도했었다. 막날엔 그냥 완성된 코드랑 1:1 대조까지 들어갔고, 단 한 줄의 차이에서 완성이 안됐다는 것을 알았다. 이걸 알기까지의 순 앉아있던 시간은 적어도 7-8시간 되는듯. 좀처럼 잊어먹기는 힘든 날이 될 것 같다../test-rbtreePassed all tests!valgrind ./test-rbtree==18444== Memcheck, a memory error detector==18444== Copyright (C) 2002-2017,..

  • format_list_bulleted 구현하기
  • · 2025. 4. 23.
CLRS로 레드 블랙 트리 논하기 #2 : 연습 문제

CLRS로 레드 블랙 트리 논하기 #2 : 연습 문제

회전!R rotate부모 노드가 자식의 R로 이동한다.y parent를 x parent로 대입하고 그 다음 기존 y parent는 x right랑 연결.만약 x right가 있을 경우 x right parent는 y가 되고, y left에 위치하게 된다.자식은 새로운 부모 노드가 된다.Left Rotation | Right Rotation바꿀 애를 지정해준다.y = x.rightx = y.left지정한 애의 자식들을 옮겨준다. 이것을 양쪽에 대해 연결 해 주어야 한다.x.right = y.leftif y.left != T.nily.left.parent = xy.left = x.rightif x.right !== T.nilx.right.parent = y우선 부모 노드를 동일하게 맞추어 본다.y.p = x..

  • format_list_bulleted 컴퓨터 이론
  • · 2025. 4. 19.
[CS:APP] 링커 7.1 - 7.14

[CS:APP] 링커 7.1 - 7.14

이거는 글을 좀 분할을 해야겠다.. [2025년 5월 1일 작성]링커!!링커는 소프트웨어 개발하는데 있어 구성요소를 분리 할 수 있게 해준다.즉, 한 소스 코드에 모든 것을 배치하는 것과 달리 여러 개의 소스로 나눌 수 있다.이것은 간접적으로든 직접적으로든 관리에 유용함을 가져다 준다.뭐 어떻게 좋냐고모듈화, 각 다른 역할을 수행하는 소스 파일로 분리 할 수 있다.큰 프로그램을 모듈 단위로 나누면 독립적으로 배치된다. 링커 직전의 변환 단계에서 .o 파일들만 만들고, 링커는 최종적으로 이걸 합치면서 실행 파일을 만들게 된다.빌드 시간 최적화, 변경된 모듈만 컴파일하면 된다.링커는 변경된 부분만 반영하면서 전체 프로그램을 다시 만드는 역할을 한다.코드 재사용성, 유지보수앞이랑 좀 겹치긴 하는데, 수정이 필..

  • format_list_bulleted 컴퓨터 이론/CS:APP
  • · 2025. 4. 18.
CLRS로 레드 블랙 트리 논하기 #1 : 이론

CLRS로 레드 블랙 트리 논하기 #1 : 이론

이번 주는 노선을 조금 달리 하려고 한다. 레드 블랙 트리는 깊이 알아두면 꼭 트리형태가 아니더라도 알고리즘 사고 확장에 도움이 될 수 있을 것이라고 생각했기 때문이다. 다른 할 것들이 즐비하니 마냥 노선이 다르다는 핑계로 조금 느릿느릿하게 할 생각은 관둬야겠다.CLRS에서 전반적인 레드블랙 트리의 이해도를 높이고, 전반적으로 설명이 가능 할 정도가 되면 코드 구현도 길지 않은 시간에 이뤄질 것이다. 거기에 더해 책은 번역본 말고 원서 기반에다가 직접 번역을 해서 쓰는게 나을 것 같다.내가 느낀것은 번역본은 그냥 한글로 번역한 사람의 큰 영역의 TIL일뿐이다. 나는 남의 TIL을 잘 못본다. 그러니까 원서를 봐야겠다.레드블랙트리의 전반적인 정의를 포함한 다양한 부분은 다른 글에서 더 정리해서 연결 할 수..

  • format_list_bulleted 문제풀이
  • · 2025. 4. 18.
  • navigate_before
  • 1
  • ···
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • ···
  • 35
  • navigate_next
공지사항
  • WHO I AM
전체 카테고리
  • 분류 전체보기 (205) N
    • TIL (15)
    • WIL (9)
    • 별 잡다 (26)
    • 문제풀이 (71) N
    • 구현하기 (30)
    • 컴퓨터 이론 (35) N
      • CS:APP (16) N
    • with Nest (4)
인기 글
전체 방문자
오늘
어제
Copyright © pwerty 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바