momoiot
  • MOMO
    • 방문에 감사드립니다
    • 학습가이드(Study Guide)
  • 무선통신
    • Wireless Area by Coverage
    • PAN/LAN Coverage Connectivity
    • MAN/WAN Coverage Connectivity
    • WIFI
    • BLE
    • BLE 서비스와 UUID
    • LPWA
    • CAT-M1(LPWA)
    • LoRA(LPWA)
    • NB-IOT(LPWA)
    • ZIGBEE
    • Sub-GHz
  • RTOS
    • RTOS와 커널
    • Thread
    • Thread-상태와 제어
    • Thread-우선순위
    • Thread-공유자원문제
    • 공유자원문제-Mutex 해법
    • 공유자원문제-Semaphore 해법
    • Mutex vs. Semaphore
    • Timer
    • Queue
    • Callback 함수
  • NET
    • Networks 구조 및 스택
    • 인터넷주소 IP
    • UDP 통신과 응용
    • UDP 시스템 함수
    • UDP 통신시퀀스
    • UDP 일대다 통신
    • TCP 시스템 함수
    • TCP 통신과 응용
    • TCP 통신 시퀀스
    • SSL/TLS 보안
    • 인증서와 보안키 준비
    • 인증과 보안의 개요
    • DNS
    • TLS/SSL
    • mDNS
    • HTTP(S) 통신과 응용
    • HTTP(S) 메서드
    • HTTP(S) 통신시퀀스(추후정리)
    • WS/WSS(웹 소켓)
  • IOT
    • IoT Platform 기본구조
    • IoT Platform 상세구조(추후정리)
    • IOT 산업분야
    • MQTT
    • HTTPS/WSS
    • JSON
    • Binary
    • XML
    • Big 데이터(추후정리)
    • 머신런닝과 딥런닝(추후정리)
  • 도구모음
    • Mflash 설치
    • Jlink 드라이버 설치
    • Mflash 사용
    • Bee2MPTool(EMB1082)
    • Teraterm, Secure CRT, SerialMon
    • SecureCRT
    • SerialMon
    • Geshe Beacon 설치와 매뉴얼
    • Wireshark
    • Ping(PC)
    • Ping(App)
    • Fping(PC Tool)
    • Netcat
    • TCP/UDP Debug
    • OpenSSL 설치하기
    • Curl
    • Wscat
    • DNS
    • mDNS
    • MQTT.fx(PC client)
    • Wireshark-WIFI
    • MQTT Client(App)
    • nRF Connect
    • LightBlue
  • NET
    • UDP 유니캐스트-Netcat
    • UDP 브로드캐스트-Netcat
    • TCP 클라이언트&서버(보안 X)-Netcat
    • 인증서와 보안키 만들기-OpenSSL
    • TCP 클라이언트&서버(SSL/TLS)-OpenSSL
    • HTTP 클라이언트-Curl
    • HTTP/Web 서버 만들기
    • HTTPS 클라이언트-Curl
    • HTTP 파일 업로드/다운로드-Curl
    • HTTPS 파일 업로드/다운로드-Curl
    • HTTPS/Web 서버 만들기
    • WebSocket-Wscat
    • Websocket 통신연습(보안)- Wscat
  • IOT
    • IOT, 메시지 프로토콜
    • MQTT 브로커 설치-Mosquitto
    • Mosquitto 명령어
    • 연동연습-PC클라이언트–0
    • Mosquitto 클라이언트
    • MQTT.fx 프로파일 설정
    • MQTT.fx 클라이언트
    • Mobile APP 클라이언트
    • MQTT.fx 프로파일 설정
    • MQTT.fx 클라이언트
    • AWS 계정 만들기
    • AWS 사물 생성하기
    • AWS 인증서,암호키 생성하기
    • ASW 보안정책 생성하기
    • AWS 인증서,정책, 사물의 연결
    • AWS 사물의 상호작용 둘러보기
    • AWS에서 사물의 Shadow 보기
    • MQTT.fx-AWS 프로파일 설정하기
    • MQTT.fx-AWS 메시지 구독하기
    • MQTT.fx-AWS로 메시지 게시하기
  • 통신모듈
    • IOT 통신모듈리스트
    • 통신모듈과 시스템구성
    • MXKit
    • Microsoft Azure Kit-AZ3166
    • SK SmartHome Kit
    • Power-Up 시퀀스
    • 동작모드 진입 제어
    • 동작모드 진입 타이밍
    • Bootloader 모드
    • ATE 모드
    • QC 모드
  • WIFI접속
    • 요놈을 어떻게 네트워크에 접속시키지?
    • BLE 방식
    • Soft AP 방식
    • Easylink 방식
    • App Download
    • Android App 매뉴얼
    • iOS App 매뉴얼
    • App SDK 다운로드
    • Android 포팅가이드
    • iOS 포팅가이드
  • APP
  • AT커맨드
    • WIFI/Combo 모듈 FW
    • EMB1082 SDK&FW
    • WIFI 커맨드리스트
    • EVENT 통지메시지
    • 매뉴얼-시스템 관리
    • 매뉴얼-UART 관리
    • 매뉴얼-WIFI 관리
    • 매뉴얼-AP 접속(Pairing)
    • 매뉴얼-TCP/UDP 통신
    • 매뉴얼-MQTT 통신
    • 매뉴얼-SNTP 시간동기
    • 매뉴얼-Ethernet 데이터모드
    • 매뉴얼-OTA/FW 업그레이드
    • BLE 커맨드 리스트
    • 매뉴얼-콤보 BLE AT커맨드
    • EMB1082 커맨드 리스트
    • 매뉴얼-EMB1082 AT커맨드
  • 시스템
    • 시작하기 전에
    • station 모드
    • softap 모드
    • softap 이용(추후정리)
    • easylink 이용
    • BLE_Central
    • BLE-Peripheral
    • BT-Beacon
  • NET
    • 소켓통신 시작하기 전에
    • UDP 유니캐스트 in Station
    • UDP 유니캐스트 in AP
    • UDP 브로드캐스트 in Station
    • UDP 브로드캐스트 in AP
    • TCP 클라이언트 in Station
    • TCP 클라이언트 in AP 모드
    • TCP 서버 in Station
    • TCP 서버 in AP
    • TCP 클라이언트
    • TCP 서버(추후게재)
    • HTTP 클라이언트
    • HTTP/Web 서버(추후게재)
    • HTTPS/Web 서버(추후게재)
    • HTTPS 클라이언트
    • Websocket(미 지원)
    • DNS Query(1월 15일 게재)
    • mDNS Query & Response(1월 15일 게재)
  • IOT
    • WIFI 클라이언트(보안X)
    • WIFI 클라이언트(SSL/TLS)
    • WIFI 클라이언트
  • 개발환경
    • MXOS 소개
    • MXOS 아키텍쳐
    • Python 설치
    • Git 설치
    • MiCoder 설치
    • MXOS-Cube 설치
    • Visual Studio Code 설치
    • Jlink 드라이버 설치
    • Device SDK 다운로드
    • Device SDK의 파일구조
    • 시작하기 전에
    • Visual Studio Code 사용하기
    • 컴파일 맛보기
    • 컴파일러 명령(make) 매뉴얼
    • mxos-Cube 명령리스트
    • 프로젝트 생성
    • 프로젝트 가져오기
    • 컴포넌트 추가/삭제
    • 변경사항 게시하기
    • 로컬 프로젝트/컴포넌트 업데이트
    • Log 출력 Enable/Disable
    • 명령소개 및 사용준비
    • 명령리스트
    • 명령 매뉴얼
    • 명령 추가/삭제
    • 명령 입출력함수
    • API 프로토타입
  • API
    • Kernel-Thread
    • Kernel-Semaphore
    • Kernel-Mutex
    • Kernel-Timer
    • Kernel-Queue
    • Core Data Management
    • Socket 통신(TCP/UDP)
    • HTTP 통신
    • JSON 구문해석
    • CRC 알고리즘(Data Validation)
    • Seurity 알고리즘(암호화 알고리즘)
    • IO/Peripheral
    • Operation SW, Ctrl, Sys LED
  • 시스템
    • hello world!
    • 시작하기 전에
    • thread
    • queue
    • semaphore
    • mutex
    • timer
    • station 모드
    • scan
    • softap 모드
    • BLE-Peripheral
    • BLE-Central
    • BT-Beacon
    • BLE-Config
    • softap 이용
    • BLE 이용
    • easylink 이용
    • GPIO
    • I2C
    • I2C
    • PWM
    • RTC
    • UART
    • SPI
    • ADC
    • WDG
    • Random Number Gengerator
    • NanoSecond Driver
    • MFiAuth
    • Task SW-Reboot-Standby
  • NET
    • TCP 클라이언트
    • TCP 서버
    • UDP 브로드캐스트(Broadcast)
    • UDP 유니캐스트(Unicast)
    • TCP 서버
    • TCP 클라이언트
    • DNS @sa
    • HTTP 클라이언트
    • HTTPS 클라이언트
    • HTTP/Web 서버
    • HTTPS/Web 서버(추후 준비)
    • Websocket
    • FOTA(FW OTA) 업그레이드(추후게재)
    • DNS 서비스조회
    • mDNS 서비스조회
    • mDNS 서비스등록
  • IOT
    • WIFI 클라이언트(+MQTT.fx)
    • WIFI 클라이언트(+Mobile App)
    • AWS Demo SDK
    • SDK 및 MQTT 브로커 기본준비
    • WIFI 클라이언트(+MQTT.fx)
    • AWS IoT Core 기본준비
    • WIFI 클라이언트(+MQTT.fx)
    • WIFI FW OTA(FOTA)
페이지 선택

overview rtos tech

  • RTOS
  • RTOS와 커널
  • RTOS에서 프로그래밍
  • Thread
  • Thread-우선순위
  • Thread-상태와 제어
  • Thread-공유자원문제
  • 공유자원문제-Mutex 해법
  • 공유자원문제-Semaphore 해법
  • Mutex vs. Semaphore
  • Timer
  • Queue
  • RTOS 기타요소
  • Callback 함수

Thread의 우선순위

쓰레드의 우선순위는 O/S 스케쥴러가 쓰레드의 실행 시점을 Scheduling하기위해 참조하는 지표로, 프로그래머가 쓰레드를 생성할 때 지정할 수 가 있다.

프로그래머는 쓰레드의 역할에 따라 적절한 우선순위를 부여하여, 어플리케이션이 목적하는 바를 안정적으로 수행할 수 있도록 해야 겠다.

 

스레드의 우선권(priority)는 통상 0~9로 구분되며, 레벨 값이 낮을 수록 우선권이 높다. 즉, 우선권이 0인 스레드가 짱이다.

우선권이 높다는 것은 여러 스레드가 대기상태(ready)에 있을 때 우선 실행 (preempt)될 수 있는 권한이 있다는 의미이다. 

 

(1) 우선권이 가장 높은 쓰레드가 정지상태 또는 소멸상태로 천이하지 않고 있다면 스케쥴러는 그 쓰레드만 실행시킬 것이다. 

따라서, 우선권이 높은 쓰레드일 수록 먹을만큼 먹었으면, 어떤 방법을 써서라도 다른 쓰레드에게 양보의 미덕을  발휘해야 겠다.

 

(2) 동일 레벨의 스레드들이 대기하고 있다면 스케쥴러는 시간을 균등하게 분배하여 쓰레드들이 번갈아 실행되도록 할 것이다.

 

 

 

 

Adsense

EMW3070

Copyright © EDWORKS & MXCHIP. All Right Reserved.

Elegant Themes 디자인 | WordPress 제공

Viewed Page List

  • Thread-우선순위
  • iOS App 매뉴얼
  • System 커맨드
  • OpenSSL
  • TCP 서버 in AP