임베디드

임베디드

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

  • 동기와 비동기의 차이

    2019.10.14
  • 기술면접용 세마포어

    2019.10.14
  • 스레드의 장단점

    2019.10.13
  • 멀티프로세싱과 스레드

    2019.10.13
  • 프로세스와 스레드의 차이점

    2019.10.13
  • 2696 중앙값 구하기

    2019.10.13
동기와 비동기의 차이

- 서로 간 약간의 차이는 있지만, 동기는 blocking, 비동기는 non-blocking이라고 말할 수 있다. 동기는 메소드 실행과 동시에 결과값이 나오기를 기대하는 상태로, 결과값이 나올 때까지 blocking 되어있다. 반대로 비동기는 실행과 동시에 결과값이 나오기를 기대하지는 않는다. 따라서 이벤트 큐에 넣고 다른 task를 진행하게 된다 - 동기식은 프로그램 구조가 단순하다는 장점이 있지만 컴퓨터 자원을 비효율적으로 활용한다는 단점이 있다. 비동기식은 반대로 사용자가 결과값을 반환하는 시간을 정확히 알지 못한다는 점에서 프로그램 구조가 다소 복잡하다는 단점이 있지만 컴퓨터 자원을 효율적으로 활용한다는 장점이 있다

2019. 10. 14. 13:24
기술면접용 세마포어

임계구역에 대한 접근을 막기 위해 Locking 메커니즘이 필요하다 1. Mutex - 임계구역에 하나의 스레드만 접근 가능 2. 세마포어 - 스레드 접근성을 높이고자 사용 - 임계구역에 여러 스레드가 접근 가능 - counter를 두어서 동시에 자원에 접근할 수 있도록 스레드 수를 제어 세마포어 연산 1. P - 임계영역에 접근하기 전 세마포어를 검사해서 1 이상이라면 세마포어 값 S를 1 차감시킨다 2. V - 임계영역을 끝내고 나올 때 세마포어 값 S를 1 증가시킨다 세마포어에서 중요한 이슈 - P 연산을 진행할 때 S값이 0이라면 대기를 하는데, 무작정 무한루프를 돌리는 것은 CPU를 심하게 차지한다 - 대기 큐를 만들어, 큐에 삽입한 후 sleep으로 block을 건다. V쪽에서 하나를 반환하면..

2019. 10. 14. 00:47
스레드의 장단점

장점 1. CPU 활용도를 높여 성능 개선 2. 응답성 향상 3. 자원 공간 효율, IPC를 사용하지 않아도 된다 단점 1. 하나의 스레드가 문제가 생겨 종료되는 일이 생기면 프로세스 전체가 종료된다 2. 스레드를 많이 생성하면 context switching이 많이 생겨 성능 저하 발생

2019. 10. 13. 23:44
멀티프로세싱과 스레드

멀티 프로세싱은 다수의 CPU가 하나의 JOB을 처리하는 것이다. 이 때 스레드 기술을 이용해, 스레드를 여러 개를 만들어 스레드 하나당 하나의 CPU가 처리한다면 병렬 실행으로 인해 실행 속도가 증가될 것이다. 최근 멀티 코어 추세로, 스레드 기술과 접목시켜 멀티 코어 활용도를 높일 수 있다

2019. 10. 13. 19:09
프로세스와 스레드의 차이점

1. 프로세스는 자원을 할당받는 작업의 단위, 스레드는 자원을 이용하는 실행의 단위다. 즉 프로세스가 운영체제로부터 할당받은 자원을 내부 스레드가 공유하면서 사용하는 구조다 2. 스레드 통신은 프로세스 통신 IPC보다 시스템 콜과 통신 비용이 줄어든다는 장점이 있다(사용자 응답성 향상). 프로세스 통신에서는 context switching이 반복되는데 캐쉬 메모리 초기화 등 무거운 작업 등이 진행되고 이는 오버헤드(추가적으로 발생하는 시간) 발생을 유발한다 3. 같은 처리를 반복한다면 fork를 하기 보다는 스레드를 이용하는 것이 보다 효율적이다 4. 다만 전역변수를 스레드끼리는 공유할 때는 동기화 문제에 신경써야 한다 5. 스레드 생성시 힙, data, code 영역은 공유하지만 각 스레드만의 stac..

2019. 10. 13. 18:24
2696 중앙값 구하기

최대 힙 < 최소 힙의 논리를 가지는 최대 힙, 최소 힙을 가지고 lgN의 시간복잡도 안에서 중앙값을 구하는 문제다 문제: https://www.acmicpc.net/problem/2696 깃허브주소: https://github.com/surinoel/boj/blob/master/2696.cpp

2019. 10. 13. 18:05
1 ··· 17 18 19 20 21 22 23 ··· 191
티스토리
© 2018 TISTORY. All rights reserved.

티스토리툴바