베어 머신 컴퓨팅

Bare machine computing

베어 머신 컴퓨팅(BMC)은 베어 머신을 기반으로 한 프로그래밍 패러다임이다.BMC 패러다임에서 애플리케이션은 어떤 운영 체제(OS)나 중앙집중식 커널의 지원 없이 실행된다. 즉, 애플리케이션을 실행하기 전에 베어머신에 중간 소프트웨어가 로드되지 않는다.베어 머신 애플리케이션(bare machine application) 또는 간단히 BMC 애플리케이션(blane machine application)이라고 불리는 애플리케이션은 영구 스토리지나 하드 디스크를 사용하지 않고 대신 USB 플래시 드라이브와 같은 분리 가능한 대용량 스토리지에 저장된다.BMC 프로그램은 단일 응용프로그램 또는 하나의 주소 공간 내에서 단일 실행 파일로서 실행되는 작은 응용프로그램 집합(응용프로그램 집합)으로 구성된다.BMC 애플리케이션은 필요한 하드웨어 리소스에 직접 액세스한다.이들은 다른 소프트웨어 구성 요소나 외부 소프트웨어를 사용하지 않고 부팅, 로드 및 실행하는 독립적이고, 자체 관리되고, 자체 통제되는 실체들이다.BMC 애플리케이션은 설계로 인해 고유한 보안을 가지고 있다.OS 관련 취약성은 없으며, 각 애플리케이션은 필요한 (최소) 기능만 포함하고 있다.애플리케이션은 사용자 모드에서만 실행되므로 BMC 시스템에는 권한 있는 모드가 없다.또한 애플리케이션 코드는 정적으로 컴파일된다. 실행 중에 BMC 프로그램 흐름을 동적으로 변경할 수 있는 수단이 없다.

역사

컴퓨팅 초기에는 컴퓨터 어플리케이션이 하드웨어로 직접 통신했고 운영체제가 없었다.다양한 도메인을 아우르는 어플리케이션의 규모가 커짐에 따라 OS가 발명되었다.이들은 애플리케이션에 하드웨어 추상화를 제공하는 미들웨어 역할을 했다.OS는 그 크기와 복잡성이 엄청나게 증가하여 마이크로커널, 엑소커넬, 티니-OS, OS-Kit,[1] 팔라시오스와 키튼,[2] IO_Lite,[3] 베어메탈 리눅스, IBM-Libra 및 기타 희박한 커널을 포함하여 OS 오버헤드를 줄이고 성능을 개선하려는 시도가 있었다.위의 접근방식 외에도, 스마트폰과 같은 임베디드 시스템에서는 OS의 작고 전용적인 부분과 주어진 어플리케이션 세트가 하드웨어와 긴밀하게 통합된다.하드웨어에서 직접 실행되는 수많은 산업 제어 및 게임 애플리케이션도 있다.이러한 시스템 대부분은 하드웨어가 범용 애플리케이션을 실행할 수 있도록 개방되어 있지 않다.

베어 머신 컴퓨팅은 Towson University에서 Karne에 의해 발명된 어플리케이션 객체(AO) 개념에서 비롯되었다.[4]수년간 분산된 운영체제(DOSC)로 발전했고,[5] 결국 BMC 패러다임으로 발전했다.

기존 컴퓨팅과 비교

여러 면에서 BMC 패러다임은 기존 컴퓨팅과 다르다.BMC 애플리케이션을 실행하는 동안 중앙 집중식 커널이나 OS가 실행되지 않는다.또한 BMC 패러다임의 베어 머신은 소유권이 없거나 귀중한 자원을 저장하지 않으며, 범용 컴퓨팅 애플리케이션을 실행하는 데 사용될 수 있다.(SOC)의 임베디드 시스템, 시스템 등 기존 컴퓨팅 시스템에서는 이런 특성이 발견되지 않는다.또한 BMC 개념은 단순성, 작은 코드 크기 및 보안을 달성하기 위한 최소주의적 접근방식이다.[6]

베어 머신 컴퓨팅에서 컴퓨팅 장치는 베어 있지 않고 그 프로그램은 하드웨어와 직접 통신한다.응용 프로그램 및 시스템 프로그램은 동일하다.이 시스템에 사용자 모드 또는 커널 모드가 없음지정된 애플리케이션 제품군이 실행 중일 때는 박스 내에서 다른 어떤 것도 실행되지 않는다.전체 프로그램은 조립 코드가 거의 없는 단일 프로그래밍 언어 C/C++로 작성된다.애플리케이션 프로그래머는 전체 하드웨어 자원을 통제한다.그것은 이벤트에 기초하여 중앙 집중화된 커널을 피한다.ISA를 따라 상향 호환성을 유지하므로 주어진 BMC 애플리케이션 스위트는 주어진 명령 집합 아키텍처(ISA)에서 영원히 실행된다.이러한 접근방식은 오늘날 계획된 노후화로 인한 하드웨어와 소프트웨어를 우리 정보 시스템의 모든 측면에서 폐기할 필요가 없기 때문에 그린 컴퓨팅에 우호적이다.

애플리케이션 및 연구

BMC는 신호 패러다임 webservers,[7]분할 servers,[8][9]VoIP,[10]SIPserver,[11]email,[12]을 구현하기 위해 webmail,[13]텍스트 기반 Browser,[14]보안 protocols,[15][16]파일 systems,[17][18][19]RAID,[20]네트워크 카드 인터페이스와 비엠시 webserver에 dua과 이더넷 BONDING(NICS)[23]bare SQLite.,[21][22]은 미들웨어를 사용되어 왔다.LNICs,[24]성공 기존의 윈도우나 리눅스 앱적.BMC 애플리케이션으로 실행되는 라이센스는 BMC 패러다임의 새로운 사용을 위한 기반을 마련할 것이다.[25]TCP를 사용한 32비트 멀티 코어 아키텍처로 베어 PC에서 웹 서버를 실행할 때의 설계 문제가 에서 설명되었다.[26]베어 머신에서 32비트 아키텍처를 사용하는 UDP를 통한 웹 기반 통신을 위한 새로운 클라이언트/서버 프로토콜이 에 설명되었다.[27]64비트 멀티코어 아키텍처에서 OS나 커널이 없는 컴퓨터 응용프로그램을 개발하고 그 구현을 보여 주었다.[28]

참조

  1. ^ "The OS Kit Project". Salt Lake, Utah: School of Computing, University of Utah. June 2002.
  2. ^ J. 랜지 외, "팔라시오스와 키튼:확장 가능한 가상 및 네이티브 슈퍼컴퓨팅을 위한 새로운 고성능 운영 체제," 제24회 IEEInternational Parallel and Distributed Processing Symposium(IPDPS), 2010, 페이지 1-12
  3. ^ Pai, V. S.; Druschel, P.; Zwaenepoel, W. (February 2000). "IO-Lite: A Unified I/O Buffering and Caching System" (PDF). ACM Transactions on Computer Systems. 18 (1): 37–66. doi:10.1145/332799.332895. S2CID 5280787.
  4. ^ Karne, R. K. (December 1995). "Object-Oriented Computer Architectures for New Generation of Applications, Computer Architecture News". 23 (5): 8–19. doi:10.1145/218328.218332. S2CID 880971. {{cite journal}}:Cite 저널은 필요로 한다. journal=(도움말)
  5. ^ Karne, R.K, Venkatasamy, K(Kartick Jaganathan), Ahmed, T. 분산 운영 체제 컴퓨팅(DOSC), Onward Track, OOPSLA 2005, San Diego, CA, 2005년 10월.
  6. ^ Soumya, S.; Guerin, R.; Hosanagar, K. (September 2011). "Functionality-Rich vs. Minimalist Platforms: A Two-Sided Market Analysis". ACM Computer Communication Review. 41 (5): 36–43. doi:10.1145/2043165.2043171. S2CID 890141.
  7. ^ 그는 L, Karne, R. K., Bijesinha, A.L., Emdadi, A.베어 PC 웹 서버의 설계 및 성능, 국제 컴퓨터 및 응용 프로그램 저널(IJCA), 2008년 6월.
  8. ^ B. 라왈, R. K. 카르네, A. L. 비제시냐.두 대의 서버에서 HTTP 요청 분할, 제3차 통신 시스템 및 네트워크 국제 컨퍼런스: 2011년 1월 인도 뱅갈로르에서 COMSNETS 2011.
  9. ^ B. 라왈, R. K. 카르네, A. L. 비제시냐."HTP 요청 분할을 위한 미니 웹 서버 클러스터," IEEE 고성능 컴퓨팅 및 통신 국제 회의 (HPCC), 페이지 94-100.
  10. ^ G. H. Kaksari, A. L. Bijesinha, R. K. Karne, L. He, S.Girumala, "Peer-to-peer 베어 PC VoIP 애플리케이션", 2007년 제4차 IEEE 소비자 커뮤니케이션 및 네트워킹 컨퍼런스(CCNC), 페이지 803-807.
  11. ^ A. 알렉산더, R. 야스노프스키, A.Bijesinha와 R. Karne, "SIP 서버 구현 및 베어 PC에서의 성능", 2011년 4권 4, 1호 및 2호 통신 진보 국제 저널.
  12. ^ 포드, 지에이치, 카르네, R.K. 비제신하, A.L. 아피아쿠비, P.베어 PC Email Server의 설계 및 구현, 33차 연례 IEEE 국제 컴퓨터 소프트웨어 및 애플리케이션 컨퍼런스(COMSAC 2009), 2009년 7월, 워싱턴 주 시애틀, p480-485.
  13. ^ P. 아피아쿠비, R. K. 카르네, A. L. 비제시냐.베어 PC 웹메일 서버의 설계 및 성능, 제12회 고성능 컴퓨팅 및 통신에 관한 IEEE 국제 컨퍼런스, AHPCC 2010, 2010년 9월 1일-3일, 호주 멜버른, p521-526.
  14. ^ S.알마우타이리, R. K. 카르네, A.L.Bijesinha, Bare PC Text Based Browser, 2019 Workshop On Computing, Networking and Communications(CNC), Honolulu, Hawnolu, 2019년 2월
  15. ^ N. Kazemi, A. L. Bijesinha, R. Karne.베어 PC에서의 IPsec의 설계 및 구현, 2009년 제2차 컴퓨터 과학 및 응용 국제 컨퍼런스(CSA),
  16. ^ A. Emdadi, R. K. K. Karne, A. L. Bijesinha.베어 PC, ICCRD2010, 제2차 국제 컴퓨터 연구 개발 회의인 말레이시아 카울라룸푸르에서 2010년 5월 TLS 프로토콜을 구현한다.
  17. ^ W. V. Thompson, H. Alabsi, R. K. Karne, S. Linag, A.L. Wijesinha, R. Almajed, and H. Chang, A Mass Storage System for Bare PC Applications Using USBs, International Journal on Advances in Internet Technology, vol 9, no 3 and 4, year 2016. p63-74.
  18. ^ W. 톰슨, R. 카네, A.Bijesinha, H. Alabsi 및 H. Chang, 베어 PC 애플리케이션을 위한 USB 파일 시스템 구현, ICIW 2016:제11차 인터넷 및 웹 애플리케이션 및 서비스에 관한 국제 회의, p58-63.
  19. ^ S.Liang, R. K. K. Karne, A.L.Bijesinha, 베어 머신 애플리케이션을 위한 린 USB 파일 시스템, ISCA, 제21차 소프트웨어 엔지니어링 및 데이터 엔지니어링 국제회의의 2012년 6월, 페이지 191-196.
  20. ^ H. Z. 알라베시, W. V. 톰슨, R. K. 카르네, A. L. 비제시냐, R. 알마제드, F.Almansour, USB 베어 머신 RAID 파일 시스템, SEDE 2017: 제26회 소프트웨어 엔지니어링 및 데이터 엔지니어링 국제 컨퍼런스, 페이지 113-118.
  21. ^ W. 톰슨, R. K. 카네, A.L.Wijesinha, 베어 PC를 위한 상호운용성 SQLite, 데이터베이스 아키텍처 및 구조를 넘어선 제13차 국제 컨퍼런스(BDAS'17), 2017년, p177-188.
  22. ^ U. Okafor, R. K. K. Karne, A. L. Wijesinha, B.Rawal Transforming SQLITE to Run on a Bare PC, 2012년 7월 이탈리아 로마 311-314페이지의 소프트웨어 패러다임 동향에 관한 제7차 국제 컨퍼런스 진행 중
  23. ^ F. 알만수르, R. K. 카르네, A.L. 비제시냐, H. 알라베시, R.알마제드, 베어 PC 애플리케이션의 NIC를 위한 미들웨어, 제26회 컴퓨터 통신 및 네트워크 국제 컨퍼런스(포스터 페이퍼), ICCCN 2017, 캐나다 밴쿠버, 2017.
  24. ^ F.Almansour, R. K. K. K. K. K. Karne, A. L. Wijesinha, B. S. Rawal "Dual NIC로 베어 PC 웹 서버에서 이더넷 본딩", 2018년 4월 프랑스 파우, 제33회 ACM 심포지엄.
  25. ^ Peter, A.; Karne, R.; Wijesinha, A.; Appiah-Kubi, P. (April 4–7, 2013). Transforming a Bare PC Application to Run on an ARM Device. IEEE SoutheastCon. Jacksonville, Florida.
  26. ^ N. 사이다라라라얀, R. 카르네, A.Bijesinha, N. Ordouie, H. Chang, Bare PC Multi-Core Architecture, IEEE 44th COMSAC(Consumer Computers, Software and Applications Conference), 2020년 웹서버를 실행할 때의 설계 문제
  27. ^ N. 사이다라라라얀, R. 카르네, A.B.S.Rawal, B.S.Rawal, Bare Machine에서 UDP를 통한 웹 기반 통신을 위한 새로운 클라이언트/서버 프로토콜, 2020년 제18회 IEEE 연구 개발 학생 회의(SCOreD)
  28. ^ N. Ordouie, N. Soundararajan, R. Karne, A.Wijesinha, 멀티 코어 아키텍처에서 OS나 커널이 없는 컴퓨터 애플리케이션 개발, IEEE ISCC 2021년 11월.