underwork
close
프로필 사진

underwork

github: @syk25

  • 모든 글 모음 N
    • PM Notes N
      • 기획
      • 데이터 분석
      • UIUX
      • PM 용어 정리
    • Dev Notes
      • 크래프톤 정글
      • IT 취업 준비
    • Just Notes
  • 홈
  • Github
직접 메모리 접근(DMA)

직접 메모리 접근(DMA)

DMA란?DMA란 CPU의 관여 없이 입출력장치가 메모리에 직접 접근하는 기능이다. 디바이스는 CPU의 관여 없이도 스스로 읽기/쓰기 명령을 수행할 수 있다.DMA의 장단점장점데이터 읽기와 쓰기는 시간이 많이 걸리는 작업이다. DMA를 사용하게 된다면 CPU는 데이터 읽기/쓰기와 같은 시간이 오래 걸리는 작업들을 하는 대신에 다른 중요한 작업들을 할 수 있다.단점DMA는 CPU를 거치지 않아 데이터 접근 시간이 단축될 수 있지만 CPU를 우회하기 때문에 보안 문제가 발생할 수 있다. DMA를 하기 위해서 별도의 설정을 해야하기 때문에 구현이 복잡할 수 있다.

  • format_list_bulleted Dev Notes/IT 취업 준비
  • · 2024. 5. 1.
[크래프톤 정글] 5주차 후기 - Red Black Tree 구현

[크래프톤 정글] 5주차 후기 - Red Black Tree 구현

소감1주일 간 Red Black Tree를 처음부터 끝까지 C로 구현해야했다. CLRS책을 참고하면서 모든 함수들을 구현했지만 테스트케이스에서 계속 실패가 떴다. 디버깅과정이 꽤 까다로웠다.Case1. 틀린 그림 찾기디버깅을 하면서 마주쳤던 버그 중에 하나는 틀린 그림 찾기다.위의 함수는 맞는 코드고 아래함수는 틀린코드다. 맞는 함수를 토대로 틀린 함수를 구현했다.확인 결과, 변수 초기화를 놓쳤다.결론! 디버깅 툴을 잘 쓰자!

  • format_list_bulleted Dev Notes/크래프톤 정글
  • · 2024. 4. 25.
백준 10989: 수 정렬하기 3

백준 10989: 수 정렬하기 3

1. 문제 https://www.acmicpc.net/problem/10989 2. 문제 해석 한줄로 구분되는 숫자를 입력 받은 후에 받은 숫자들을 정렬한 후 다시 한줄씩 출력하는 문제다. 입력 데이터의 개수는 1

  • format_list_bulleted Dev Notes/IT 취업 준비
  • · 2024. 4. 21.
2024.04.15(월) - 이중포인터를 쓰는 이유, 재귀함수의 표현, BST,

2024.04.15(월) - 이중포인터를 쓰는 이유, 재귀함수의 표현, BST,

이중포인터를 쓰는 이유 이중포인터는 포인터의 메모리 주소를 저장하는 변수다. 포인터가 변수의 메모리 주소를 저장한다는 점에서 차이가 있다. 이중 포인터 그 자체는 의미가 없다. 하지만 이중포인터와 함수를 함께 쓴다면 그 의미가 살아난다. 이중포인터와 함수의 선언 #include #include ////////////////////////////////////////////////////////////////////////////////// typedef struct _listnode { int item; struct _listnode *next; } ListNode; // You should not change the definition of ListNode typedef struct _linkedlis..

  • format_list_bulleted Dev Notes/크래프톤 정글
  • · 2024. 4. 15.
2024.04.13(토) TIL - 메모리 해제, 할당, 변수 선언과 접근, 포인터

2024.04.13(토) TIL - 메모리 해제, 할당, 변수 선언과 접근, 포인터

메모리 해제 free(cur); 메모리 해제란 포인터가 가리키는 메모리를 놓아주는 것이다. 포인터는 특정 메모리 주소를 가리킨다. 메모리를 놓아주게 되면 해당 메모리는 프로그램의 입장에서는 사용할 권한이 없어진다. 즉, 다른 프로그램이 해당 메모리를 이제 사용할 수 있다. dangling pointer 메모리를 해제하고 포인터를 별도로 처리하지 않으면 해당 포인터는 여전히 해제 된 메모리 주소를 가리키게 된다. 다른 프로그램이 해당 메모리를 건드리고 본래의 프로그램이 포인터로 그 메모리에 접근하게 되면 심각한 문제가 발생할 수 있다. 해제 된 메모리 주소를 가리키는 포인터를 dangling 포인터라고 하는데 NULL pointer로 만들거나 다른 메모리주소를 가리키게 해야한다. 함수 내에서 메모리 해제 ..

  • format_list_bulleted Dev Notes/크래프톤 정글
  • · 2024. 4. 14.
2024.04.09(화) TIL

2024.04.09(화) TIL

홍C: 섹션 1.1 ~ 1.5 C 언어는 시스템 프로그래밍을 효율적으로 하기 위해 만들어진 언어다, 특히 UNIX 운영체제의 개발에 C 가 많이 쓰였다. C는 프로그래밍 효율성이 좋다. 강력하고 유연하며 프로그래머 중심이어서 개발자에게 주어진 권한이 막강하다. 다른 시스템에 이식하기에도 용이하다. 다만 개발자에게 책임도 커지게 된다. C는 운영체제, 게임, VFX, 임베디드, 공장 자동화 등 개발의 모든 분야에 쓰인다. 즉, 컴퓨터가 있으면 C, C++는 무조건 쓰인다. C 언어는 다른 프로그래밍 언어와 마찬가지로 사람의 필요에 따라 발전해왔다. 벨 연구소에서 만들어진 고전 C부터 현대의 C까지 변화해왔다. 소프트웨어는 총 7단계의 개발을 거쳐온다. ① 소프트웨어 목적 정의 ② 프로그램 설계 ③ 코드 작..

  • format_list_bulleted Dev Notes/크래프톤 정글
  • · 2024. 4. 9.
  • navigate_before
  • 1
  • ···
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • ···
  • 30
  • navigate_next
반응형
공지사항
전체 카테고리
  • 모든 글 모음 N
    • PM Notes N
      • 기획
      • 데이터 분석
      • UIUX
      • PM 용어 정리
    • Dev Notes
      • 크래프톤 정글
      • IT 취업 준비
    • Just Notes
인기 글
전체 방문자
오늘
어제
Copyright © 언더워크 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바