임베디드

임베디드

  • 분류 전체보기 (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)

  • temp 변수 없이 swap 하기

    2019.10.16
  • 프로세스 상태 관계

    2019.10.16
  • 스케쥴링 알고리즘

    2019.10.16
  • IPC의 필요성과 환경

    2019.10.16
  • 어셈블리어의 단점

    2019.10.16
  • 스택 오버플로우란

    2019.10.16
temp 변수 없이 swap 하기

XOR 연산의 의미를 깊게 바라볼 필요가 있다 1. 0과 연산하면 자기 자신이, 1과 연산하면 비트가 반전된다 2. 교환, 결합 법칙이 성립된다 #include using namespace std; void swap(int* a, int* b) { *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; } int main(void) { int a = 100, b = 5; cout

2019. 10. 16. 22:57
프로세스 상태 관계

프로세스 상태는 다음과 같이 3가지로 정의할 수 있다 1. Running -> Block : 예를 들어 현재 실행 중인 프로세스가 '파일 읽기'를 요청했다면, 이 요청은 디스크에서 읽어오는 긴 과정이므로 block 상태로 빼게 된다. 만일 수행이 완료되었다는 이벤트가 발생하면 Ready 상태로 전환된다 2, 3. Ready -> Running : 다른 프로세스가 CPU를 선점하는 상황이 발생 4. Block -> Ready : block 된 이벤트가 완료되었을 때 상태가 전환된다 출처 패스트캠퍼스 컴퓨터공학 운영체제

2019. 10. 16. 19:32
스케쥴링 알고리즘

CPU를 어떻게 분배하느냐의 논점에 따라서 나눠지게 된다 1. FIFO 스케쥴러 - 실행 요청 순서대로 CPU에 들어가 실행 완료까지 CPU를 사용하는 스케쥴링 알고리즘. 배치 처리 시스템 - FCFS(First Come First Served) 2. 최단 작업 우선 (SJF) 스케쥴러 - Shortest Job First 스케쥴러 - 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행시키는 알고리즘 3. 우선순위 기반 스케쥴러 - 정적 우선순위, 프로세스가 되기 전 미리 우선순위가 지정된 상태 - 동적 우선순위, 스케쥴러가 상황에 따라 우선순위를 동적으로 변경 4. Round Robin 스케쥴러 - 시분할 시스템처럼 프로세스마다 동일한 실행시간을 부여 - 끝나지 않은 프로세스는 큐의 맨 마지막으로 들..

2019. 10. 16. 18:27
IPC의 필요성과 환경

일반적으로 프로세스간 접근은 제한되어 있다. 왜냐하면 접근이 가능해서 메모리 영역을 마음대로 침범한다면 문제가 생긴다. 최근에는 CPU 병렬 처리가 가능해지면서, 하나의 프로그램을 여러 프로세스로 나누어서 처리하곤 한다 예를 들어 1에서 10000까지의 수를 더하는 프로그램이라면 약 10개의 프로세스로 나누어서 수행하곤 한다. 마지막에 결과를 합산할 때 결과값을 주고받으려고 할 때 IPC가 필요하게 된다 따라서 (응용 프로그램 != 프로세스)라고 말할 수 있다. 응용 프로그램은 프로그램 크기와 그 기능에 따라서 여러 개의 프로세스로 이뤄질 수 있다 프로세스는 3-4G 영역의 커널 공간을 공유한다. 다양한 IPC 기법은 이 커널 공간을 사용하게 된다. 따라서 파일에 쓰고 읽는 파일 입출력보다 빠르게 데이터..

2019. 10. 16. 02:38
어셈블리어의 단점

빠르다는 장점이 있지만, CPU 아키텍처가 달라지면 매번 똑같은 기능을 하는 코드를 다시 작성해야 한다는 이식성 단점의 문제가 있다. 따라서 C, JAVA와 같은 고급언어와 같은 경우에는 컴파일러를 도입하면서, 컴파일러 프로그램만 추가하면 기존 코드를 어떠한 아키텍처에서도 실행시킬 수 있다는 이식성 장점이 있다

2019. 10. 16. 02:03
스택 오버플로우란

strcpy 같이 unsafe 함수를 사용했을 때, 만일 bar가 6글자가 넘어가는 문자열이라면 아래 그림과 같이 return addr 부분이 초기화 되어버린다. 따라서 함수가 종료된다고 한들 호출했던 함수로 넘어가지 못한다 해커들은 저 부분을 이용해서 다른 함수의 주소로 덮어씌우는 공격을 한다. 따라서 strncpy 같은 사이즈를 명시하는 safe 함수를 쓰는 것이 올바른 방법이다 [출처] 패스트캠퍼스 컴퓨터공학 운영체제

2019. 10. 16. 01:19
1 ··· 15 16 17 18 19 20 21 ··· 191
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바