임베디드

임베디드

  • 분류 전체보기 (1142)
    • PL (150)
      • C++ (108)
      • Python (39)
      • Java (3)
      • Kotlin (0)
    • 알고리즘 (462)
      • 암기 (91)
      • 백준 (328)
      • 삼성 (17)
      • 종만북 (4)
      • 프로그래머스 (22)
    • 임베디드 (411)
      • 하드웨어지식 (12)
      • ATmega128 (98)
      • 32F429IDISCOVERY (57)
      • 임베디드리눅스 (15)
      • 리눅스커널스터디16기 (2)
      • 리눅스시스템프로그래밍 (97)
      • 운영체제 (26)
      • 컴퓨터구조 (4)
      • dd (1)
      • ubuntu (81)
      • opencv (18)
    • 드론 (99)
    • TIP (12)
  • 홈
  • 태그
  • 방명록
RSS 피드
로그인
로그아웃 글쓰기 관리

임베디드

컨텐츠 검색

태그

#linuxbirthday_a_message_from_Seoul_Korea !!

최근글

댓글

공지사항

아카이브

전체 글(1142)

  • 지정한 CPU에서 프로세스 동작

    2019.05.09
  • 컴퓨터 구조로 알아보는 프로세스 친화

    2019.05.09
  • PCIe

    2019.05.09
  • main의 argv 첫번째 인자

    2019.05.09
  • exit와 _exit의 차이

    2019.05.09
  • 자식 프로세스의 메모리 공간

    2019.05.09
지정한 CPU에서 프로세스 동작

반드시 man-page에 있는 정의를 모두 설정해야 한다 sched_getaffinity은 실행에 적합한 CPU 세트를 결정해, 최대 실행 속도를 보장받을 수 있다 https://github.com/surinoel/Linux-SP/blob/master/sched_cpu.c

2019. 5. 9. 22:33
컴퓨터 구조로 알아보는 프로세스 친화

개발하는 소프트웨어가 컴퓨터 시스템 상에서 동작하기 때문에 이를 잘 알아야 성능이 좋은 소프트웨어를 작성할 수 있다 코어 = CPU, 독립적인 레지스터, ALU, Component로 구성되어 있다 최근 프로세서는 다중 코어로 만들어진다. 그리고 Multi-thread는 Hyper-Threading 기술을 이용해 하나의 코어를 논리적으로 2개의 쓰레드로 나눈 기술이다 프로세서와 프로세서간의 입출력 프로토콜은 QPI(QuickPath Interconnect)을 사용한다. 하나의 프로세서에서 다른 프로세서의 메모리를 참조하려고 할 때 QPI 프로토콜을 이용해서 이동하지만 여러 장치들이 이 프로토콜을 사용하기 때문에 Latency 문제가 생기게 된다. 따라서 장치마다 처리에 좀 더 원할한 프로세서에 붙여놓는 것..

2019. 5. 9. 19:59
PCIe

입출력을 위한 직렬 구조의 인터페이스다. PCIe는 다른 버스 표준들과 비교하여 높은 시스템 버스 대역폭, 적은 I/O 핀 수, 적은 물리적 면적, 버스 장치들에게 더 뛰어난 성능 확장성, 상세한 오류 검출 및 보고 구조 기능을 가지고 있다 익히 알고 있는 SSD NVMe는 PCle 3 x4 인터페이스 구조를 가진다

2019. 5. 9. 17:58
main의 argv 첫번째 인자

1 2 3 4 5 6 7 8 9 10 11 12 13 #include int main(int argc, char **argv) { printf("argv[0] = %s\n", argv[0]); if(argc

2019. 5. 9. 16:52
exit와 _exit의 차이

exit() 함수는 표준 입출력 정리 루틴을 수행하고 _exit()를 호출한다. exit() 함수는 파일 스트림에 대해서 동일한 작업을 수행하는데, 열려있는 파일의 스트림에 대해서는 fclose() 함수를 호출해서 버퍼에 남은 데이터를 모두 출력(flush)한다 일반적으로 _exit() 함수는 표준 입출력과 관련된 정리 작업을 수행하지 않는 것을 제외하고는 exit() 함수와 비슷한 동작을 수행한다. 만일 vfork()을 수행한다면 메모리를 공유하게 되는데 이때 return 0을 한다면 프로세스들 사이에 공유된 함수의 스택도 삭제되므로 에러를 출력한다 따라서 반드시 vfork에서 자식에서 부모로 반환할 때는 _exit 계열을 사용하는 것이 옳은 방법이다

2019. 5. 9. 16:04
자식 프로세스의 메모리 공간

커널은 자식 프로세스가 생성되면 프로세스 테이블에 등록하고 메모리를 할당한다. 일반적으로 프로세스가 생성되면, 자식 프로세스와 부모 프로세스는 텍스트(text, 프로그램 코드) 영역은 공유하고, 데이터, 힙, 스택 영역은 복사하는데, 보통 fork() 함수를 수행한 후 바로 exec 함수가 호출되기 때문에 대부분의 시스템에서 fork() 함수 수행 시 데이터, 힙, 스택 영역을 바로 복사하지 않는다. 자식 프로세스의 내용이 변경될 때 나머지 영역을 복사하는 방법을 통해서 실행 속도를 높일 수 있는데 이를 변형 시에 복사(copy-on-write, COW)라고 한다 *실제 하나의 프로세스 당 생성되는 가상 주소 공간이 4G 생성된다. 따라서 작은 영역이 아니기 때문에 섣불리 같은 코드를 공유한다면 복사할 ..

2019. 5. 9. 14:44
1 ··· 150 151 152 153 154 155 156 ··· 191
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바