수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

쓰레드와 인터럽트의 차이

겨울c

2023.04.01

현재 임베디드쪽에서 일하고 있습니다.

예전 win32기반에서는 이벤트및 쓰레드(winproc)를 이용하여
메시지 처리를 했었는데,

임베디드 c쪽에서는 인터럽트를 이용하더군요..

궁금한것은 인터럽트와 쓰레드의 차이를 알고 싶은것입니다.

쓰레드도 최하단에서는 인터럽트로 구성될것 같은데
맞는건지...

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 초시계

    약간 덧붙이면 fiber(파이버)는 context 스위칭을 하는 것으로서는 thread와 같으나 OS 즉 윈도우즈가 thread id를 부여하지 않는 즉 커널 내부에서 context 스위칭 정보를 저장해 놓지 않는 상태를 말합니다.
    커널 내부에서 pid와 tid에 대한 정보를 관리하는데 파이버는 그것이 아니지만 컨텍스트 스위칭 즉 레지스터의 저장이 일어나는 차이가 있죠.

  • 터전

    interrupt를 enable하게 하는 것과 disable하게 하는 것은 interrupt가 사용되는 또한가지 경우가 exception이 발생했을 때도 역시 하던 일 멈추고 exception handler로 빠져야 합니다. 그런데 interrupt는 descriptor table로 맵핑이 되거든요. 그런데 descriptor table이 불완전한 상태이거나 인터럽트가 걸린 상태에서 또다시 인터럽트가 걸리거나 한다면 곤란하겠죠. 그래서 인터럽트를 가능하

  • 지후

    thread는 제가 알고 있기로는 CPU time을 분할해준 개념으로 알고 있습니다. CPU가 1초에 100이라는 처리 능력을 가지고 있으면 10개의 thread로 나누면 각각의 thread가 10씩 나누어 쓸 수 있겠죠. time-sharing이라고 하며 주로 서버 프로세서에서 쓰는 개념을 PC가 가져와 쓰고 있죠. 실제로 구현은 CPU의 현 상태 즉 각 레지스터의 값들을 메모리에 저장했다가 scheduler가 thread에 실행권을 넘기면 다시 실행

  • 새론

    제가 말한 인터럽트와 쓰레드 개념은 x86 시스템(Intel x86 Architecture)를 기반으로 말씀드린것입니다.
    즉, 일반 Personal Computer들은 대부분 제가 말한 개념에 해당된다고 봐도 과언이 아니죠.
    물론, Interrupt와 어셈블리(정확히 말하면 머신코드(기계어))라는 개념은 CPU 종속적이기 때문에,
    다른 CPU에서는 다른 명칭으로 부르거나, 개념이 조금 달라질 수 있습니다.

  • 이퓨리한은지

    타겟 CUP에 종속적입니다. 어셈블리도 타겟CPU에 종속적이듯 8051보드의 인터럽터 쓰는 방법하고 avr또 틀립니다. arm계열도 당연히 틀리겠죠... 가장 좋은 방법은 CPU의 테이터 쉬트를 보고 직접 간단한 인터럽터 를 시도해 보시는게 좋을듣 합니다. 안되는 부분을 질문해주시면 많은 공부가 될듣 하네요.. 지금 하신 질문은 너무 범위가 넓어요^^ 직접 해보시고 막히는부분을 질문하세요^^

  • 단화한

    답변감사합니다^^; 어느정도 인터럽트에 대한 개념은 잡혔는데 실제 구현할때의 예를 잘 모르겠네요.
    소스를 보다보면 Enable_interrupt Disable_interrupt가 자주 나오는데 어느 순간에 인터럽트 처리를 하게 되는지 모르겠어요 ㅠ

  • 눈꽃

    인터럽트는 CPU 보드에서 운영체제에게 통지하는 Hardware Interrupt와, 운영체제 실행 도중 고의로 발생시킨 (INT 명령에 의해) Software Interrupt로 분류됩니다. CPU에서 인터럽트가 발생하면 16-bit 리얼 모드 OS일경우(ex:DOS) 인터럽트 벡터 테이블(물리 주소 0번지에 존재)에서 해당 하는 인터럽트에 할당된 함수 주소를 가져와 실행하고, 32비트 OS일경우 IDTR에서 IDT 테이블을 불러와 IDT 테이블에서

  • 나로

    8051보드나 avr계열의 트레이닝 보드를 공부해보셧으면 아실텐데... 음.. 인터럽터라는것은...
    인터럽터란 어떠한 이벤트가 발생했을때 우선순위를 선정해서 먼저 처리 한다것입니다.
    예를 들어보겠습니다. 자동문을 만드는 CPU를 개발한다고 생각을 해보세요.
    최고 중요한 이벤트가 무엇이겠습니까? 사람인지 아닌지 식별 카메라가 사람이라고 판단해
    적당한 시간에 문을 열어주는 이벤트를 발생시켜 CPU는 이벤트 처리를 위해 인터럽트를 발생시키고
    순차적인 모든 것

  • 무슬

    인터럽트는 CPU가 운영체제에게 보내주는 일종의 신호입니다.

    운영체제는 이를가지고 세분화해서 각각의 Application 에게 메시지를 나눠줍니다.

번호 제 목 글쓴이 날짜
2694420 C언어 질문할게요(유니코드,자료형,버퍼,캐스트연산자) 은새 2025-05-11
2694370 내일까진데 함수호출 제발 도와주세요!!!!!!!!!11 들찬 2025-05-10
2694339 putchar()의 괄호 안에 int c=10;로 전에 선언된 c를 넣으면 안되는 이유에서 제가 생각한 것이 그 이유가 되는지 확인하고 싶습니다. (3) 미르 2025-05-10
2694316 이 코드 어디가 잘못되었는지 고수분들 ㅠㅠ (2) 나빛 2025-05-10
2694285 언어 공부하는 과정 좀 추천해주세요! (1) 아빠몬 2025-05-09
2694258 카운터.. 질문입니다. (4) 하늘빛눈망울 2025-05-09
2694229 단순한 질문이요 (8) 여름 2025-05-09
2694202 용돈을 가지고 할 수 있는 일을 여러가지로 출력하는 방법 좀 알려주세요! (2) 미나 2025-05-09
2694145 화면깜빡임을 없애고 싶은데요... (1) 어서와 2025-05-08
2694069 unsigned 질문입니다. 힘차 2025-05-07
2694012 전공 비전공자 개발자 (10) 말글 2025-05-07
2693984 오버로딩이 무엇인가요? (2) 헛매질 2025-05-07
2693956 PlaySound재생이 안됩니다!(C에 음악넣기) 지존 2025-05-06
2693928 &와 *의 사용에 관한 명확한 이해 제나 2025-05-06
2693903 반복문 설명좀요 ㅠㅠ (2) 란새 2025-05-06
2693869 stdio.h 는 왜 쓰는건가요? (1) 큰꽃들 2025-05-06
2693842 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) 진솔 2025-05-05
2693811 소수 출력;;;; 화이트캣 2025-05-05
2693788 이런 함수는 없나요? (3) 앤드류 2025-05-05
2693758 txt파일 불러와서 행렬로 저장 큰애 2025-05-05
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com