KR20200022254A - 자기 정의 명세서 기반 os 설정 장치 및 방법 - Google Patents

자기 정의 명세서 기반 os 설정 장치 및 방법 Download PDF

Info

Publication number
KR20200022254A
KR20200022254A KR1020180098154A KR20180098154A KR20200022254A KR 20200022254 A KR20200022254 A KR 20200022254A KR 1020180098154 A KR1020180098154 A KR 1020180098154A KR 20180098154 A KR20180098154 A KR 20180098154A KR 20200022254 A KR20200022254 A KR 20200022254A
Authority
KR
South Korea
Prior art keywords
self
setting
defined specification
item
configuration
Prior art date
Application number
KR1020180098154A
Other languages
English (en)
Inventor
최형식
양동호
Original Assignee
주식회사 한컴엠디에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한컴엠디에스 filed Critical 주식회사 한컴엠디에스
Priority to KR1020180098154A priority Critical patent/KR20200022254A/ko
Publication of KR20200022254A publication Critical patent/KR20200022254A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Abstract

본 발명은, OS 설정 항목에 관한 명세가 정의된 자기 정의 명세서를 생성하는 단계; 자기 정의 명세서의 구조를 분석하는 단계; 및 분석된 자기 정의 명세서의 구조에 기반하여 OS 설정 항목 목록을 생성하는 단계를 포함하는 OS 설정 방법을 개시한다. 본 발명에 따르면, 임베디드 RTOS 하의 개발 환경에서 임베디드 장치 부팅에 사용되는 OS 바이너리의 최적화를 수행할 수 있다.

Description

자기 정의 명세서 기반 OS 설정 장치 및 방법{APPARATUS AND METHOD FOR CONFIGURATION OF OS BASED ON SELF-DEFINED DEFINITION}
본 발명은 자기 정의 명세서 기반 OS 설정 장치 및 방법에 관한 것으로, 더욱 상세하게는 자기 정의 명세서에 기반하는 설정 도구를 이용하여 최적화된 실시간 OS 구성을 위해 사용자를 위한 각종 항목을 설정하는 장치 및 방법에 관한 것이다.
임베디드 시스템(embedded system)이란, 특정 목적을 가지고 만들어진 프로그래밍 가능한 모든 컴퓨터를 의미한다. PC는 임베디드 시스템을 구축하는 데 사용되긴 하지만, 그 외에도 수많은 용도로 사용될 수 있으므로 그 자체로 임베디드 시스템은 아니다. 가전 제품이나 사무용 기기가 각자의 기능을 수행하기 위한 마이크로 컨트롤러를 가지고 있고, 이것들이 운영 체제(operating system, OS)를 가지고 있고, OS가 지원하는 언어로 프로그래밍 가능할 경우 특수한 목적을 수행하기 위한 컴퓨터이므로 임베디드 시스템이라 할 수 있다.
임베디드 시스템 용도의 실시간 운영체제(real time operating system, RTOS)에서 소프트웨어의 성능은 해당 RTOS와 소프트웨어를 타겟이 되는 임베디드 시스템에 얼마나 최적화 할 수 있느냐에 달려 있다.
임베디드 시스템 용도의 RTOS 개발 환경은 임베디드 장치 부팅 용도의 OS 바이너리 개발 과정에서 최적화를 위한 OS 설정 기능을 제공할 필요가 있다. OS의 최적화 설정을 위해서는 하드웨어 및 OS에 대한 전문적인 지식이 필요하다. 그리고 일반적인 소프트웨어 지식만 갖는 엔지니어는 OS 최적화 설정에 쉽게 접근하지 못하는 것이 실정이다. 따라서, 시스템이 복수의 임베디드 장치를 지원하기 위해, 설정 도구에 의한 다양한 하드웨어 장치에 대한 지원이 요구된다.
운영 체제(operating system, OS)는 컴퓨터 시스템의 각종 자원을 효율적으로 관리하고 운영되도록 사용자에게 편리성을 제공하고, 컴퓨터 하드웨어와 사용자 간의 인터페이스 역할을 하는 시스템 프로그램이다. 자원 관리자 역할과 응용 소프트웨어에게 컴퓨팅 자원에 대한 서비스 제공자 역할을 한다.
임베디드 시스템 개발 환경은 호스트 시스템 및 타겟 시스템 및 백엔드를 포함한다. 호스트 시스템은 타겟 시스템을 위한 부트로더, 커널 이미지, 응용 소프트웨어 등을 개발하고, 이를 시리얼 케이블, 이더넷, JTAG(Joint Test Action Group) 케이블 등의 백엔드를 통해 타겟 시스템으로 다운로드 시킨다.
임베디드 시스템은 전자 계산을 위해 범용으로 사용하는 PC와 달리 실시간 시스템인 경우가 많다. 실시간 시스템은 정해진 시간 내에 시스템이 결과를 출력하는 적시성을 갖는 시스템을 말한다. 적시성은 주어진 작업을 빨리 처리하는 것이 아니고 정해진 시간을 넘어서는 안된다는 의미이다. 실시간 시스템에서는 주어진 입력에 대해 정해진 시간 내에 원하는 출력이 나오지 않으면 문제가 발생한다. 그리고 실시간 시스템(Real Time System)은, 적시성의 엄격한 정도에 따라 하드 리얼 타임 시스템과 소프트 리얼 타인 시스템으로 분류된다.
본 발명의 일 실시 예에 따른 OS 설정 장치는 임베디드 RTOS 시스템 개발 환경에서 OS 바이너리를 개발하는 경우, 최적화를 위한 OS 설정 기능을 제공하는 장치에 해당한다.
OS 설정 기능에서, 몇 가지 요구되는 사항이 있다. 첫째, 응용 개발자, 임베디드 장치 개발자, 임베디드용 주변기기 개발자 등 다양한 사용자 층의 사용자 지원이 있어야 한다. 즉, OS 설정을 위한 구성이 유연하고 새로운 요소를 넣기 쉬워야 한다. 둘째, 사용자가 직관적으로 이해할 수 있고, 쉽게 OS의 여러 기능을 설정할 수 있어야 한다. 즉, OS 설정에서 사용자 친화적인 인터페이스 및 편의 기능이 제공되어야 한다. 셋째, 사용자가 잘못된 설정을 입력하지 않도록 방지할 수 있고, 오류가 발생한 경우에도 해당 오류가 쉽게 복구될 수 있어야 한다. 즉, 오류 방지 및 복구 기능이 필요한다.
종래의 기술에 의하면,하나의 헤더 파일에 최적화 설정을 위한 각종 미리 정의된 매크로(pre-defined macro) 값이 기재되고, OS의 부팅용 바이너리 빌드 시에 해당 헤더 파일에 기재된 정보가 인출되어 최적화에 사용된다. 이때 각각의 미리 정의된 매크로에 대한 정보는 주석의 형태로 제공된다. 종래의 기술에 의하면 설정 항목 간 의존성 등 사용자 편의적인 기능이 제공되지 않는 문제점이 있다.
또한, 지원되어야 하는 하드웨어 종류가 많아질 경우, 가독성이 급격히 저하되며, 오류 가능성이 증대해져 OS 설정 기능의 요구 사항에 부응하지 못한다.
종래 기술에 의하면, 스크립트 기반의 설정 및 빌드 도구인 Make 명령을 사용하는 방식이 이용되고 있다. Makefile이라는 이름을 가진 스크린트 파일에 지정된 규칙을 이용하여 각종 설정 값을 소스 코드에 적용한 후, 해당 소스 코드를 이용하여 바이너리 코드를 생성한다. 설정 값은 사용자가 직접 shell 명령어로 지정하거나, 사전에 미리 생성한 파일에 저장된 설정값이 사용된다. 설정 항목 간 의존성 등 편의 기능을 스크립트 형태로 제공 가능하나, 설정 항목이 많아지면 빌드 스크립트가 복잡해진다. 그리고 가장 복잡한 Make 빌드 구조의 경우 일종의 소프트웨어만큼 그 구조가 복잡하다는 문제점이 존재한다.
종래 기술에 의하면, 그래픽 사용자 인터페이스(Graphic User Interface, GUI) 기반으로 사용자를 위한 각종 설정 항목이 제공된다. 사용자가 GUI에 입력한 값을 파일로 저장한 후 빌드 시에 해당 값이 소스 코드에 적용된다. GUI는 입력된 값을 검사하여 오류가 있는 경우, 오류를 표시하고 값을 저장하지 않는다. GUI 기반의 설정의 경우 설정 가능한 항목이 정해져 있으며, 설정 항목을 추가할 수 없다는 문제점이 존재한다.
본 발명의 일 실시 예에 따른 OS 설정 방법 및 장치는, 종래 기술의 문제점으로 지적되었던 사항을 개선할 수 있고 OS 설정 기능이 요구하는 구성의 유연성, 사용자 친화 인터페이스 및 오류 방지 및 복구 기능을 포함하는 것이 특징이다. 이러한 점에서 본 발명의 일 실시 예에 따른 OS 설정 방법 및 장치는, 상기 살펴본 종래기술과 구별되고 상기 종래기술이 갖는 문제점을 해결하기 위해 개시된다.
한국 공개특허공보 제10-2009-0037223호(2009.04.15.)
본 발명이 해결하고자 하는 과제는, 임베디드 RTOS 하의 개발 환경에서 임베디드 장치 부팅에 사용되는 OS 바이너리의 최적화를 위한 OS 설정 방법 및 장치를 제공하는 것이다.
본 발명이 추가적으로 해결하려는 과제는, 임베디드 시스템에서 복수의 임베디드 장치를 지원하는 OS 바이너리의 최적화를 위한 OS 설정 방법 및 장치를 제공하는 것이다.
본 발명이 추가적으로 해결하려는 과제는, 유연한 구성, 사용자 친화적인 인터페이스 및 오류 방지 및 복구가 용이한 OS 바이너리의 최적화를 위한 OS 설정 방법 및 장치를 제공하는 것이다.
본 발명의 일 실시 예에 따른 OS 설정 방법은, OS 설정 항목에 관한 명세가 정의된 자기 정의 명세서를 생성하거나 미리 작성된 자기 정의 명세서를 입력 받는 단계; 자기 정의 명세서의 구조를 분석하는 단계; 분석된 자기 정의 명세서의 구조에 기반하여 OS 설정 항목 목록을 생성하는 단계; 및 완성된 OS 설정 항목을 저장 및 소스 코드에 적용하는 단계를 포함한다.
여기서, 상기 OS 설정 방법은, 기존의 자기 정의 명세서를 수정하거나 해당위치에 새로운 자기 정의 명세서를 추가함으로써 OS 설정 항목을 편집하는 단계를 더 포함하는 것을 특징으로 한다.
여기서, 상기 자기 정의 명세서는, 자기 정의 명세서를 구성하는 기본 단위에 해당하는 설정아이템(ConfigurationItem)으로서 계측 구조의 그룹, 컴포넌트 및 파라미터를 이용하여 OS 설정 항목, 자신의 구조와 속성을 스스로 정의하는 것을 특징으로 한다.
여기서, 상기 자기 정의 명세서는, 그룹과 같이 복수 개의 컴포넌트들을 자식으로 갖는 설정아이템이 상기 컴포넌트들 중에서 하나를 선택할 수 있게 하는 선택 모델을 더 포함하는 것을 특징으로 한다.
여기서, 상기설정 항목 분석 모듈은, 선택된 설정아이템 및 그 자식들의 requires, excludes를 분석하여, 해당 설정아이템이 include/exclude 되는 경우 include/exclude 목록을 함께 표시하고 처리하는 관련 설정아이템(include/exclude ConfigurationItem)을 더 포함하는 것을 특징으로 한다.
여기서, 상기 OS 설정 방법은 다중의 임베디드 장치를 지원하는 실시간 운영체제(real time operating system)에서 OS 설정 항목에 적용되는 것을 특징으로 한다.
본 발명의 일 실시 예에 따른 OS 설정 장치는, OS 설정 항목에 관한 명세가 정의된 자기 정의 명세서를 생성하거나 미리 작성된 자기 정의 명세서를 입력 받는 자기 정의 명세서 생성 모듈; 자기 정의 명세서의 구조를 분석하는 자기 정의 명세서 분석 모듈; 분석된 자기 정의 명세서의 구조에 기반하여 OS 설정 항목 목록을 생성하는 설정 항목 생성 모듈; 기존의 자기 정의 명세서를 수정함으로써 OS 설정 항목을 수정하는 설정 항목 수정 모듈; 및 완성된 OS 설정 항목을 저장 및 소스 코드에 적용하는 설정 항목 적용 모듈을 포함한다.
본 발명에 의하면, 임베디드 RTOS 하의 개발 환경에서 임베디드 장치 부팅에 사용되는 OS 바이너리의 최적화를 수행할 수 있다.
또한, 임베디드 시스템에서 복수의 임베디드 장치를 지원하는 OS 바이너리의 최적화를 위한 OS 설정이 가능하다.
또한, 유연한 구성, 사용자 친화적인 인터페이스를 통해 오류 방지 및 복구가 용이하게 OS 바이너리의 최적화를 위한 OS 설정이 가능하다.
도 1은 본 발명의 일 실시 예에 따른 자기 정의 명세서의 구조도이다.
도 2 내지 도 4는 자기 정의 명세서의 구성요소를 설명하기 위한 표이다.
도 5는 본 발명의 일 실시 예에 따른 자기 정의 명세서의 폼이다.
도 6은 본 발명의 일 실시 예에 따른 OS 설정 장치의 블록도이다.
도 7은 본 발명의 일 실시 예에 따른 OS 설정 방법의 흐름도이다.
이하, 첨부한 도면을 참조하여 OS 설정 장치 및 방법에 대한 바람직한 실시 예를 상세히 설명하기로 한다.
각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 또한 본 발명의 일 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는 것이 바람직하다.
이하 본 발명의 일 실시 예에 따른 OS 설정 장치(100)가 OS 설정을 최적화하기 위해 이용하고 있는 자기 정의 명세서에 대해 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 자기 정의 명세서의 구조도이다.
도 1을 참조하면 본 발명의 일 실시 예에 따른 자기 정의 명세서는 그 구성 요소로서 그룹(Group), 컴포넌트(Component) 및 파마리터(Parameter)를 포함하는 계층 구조를 보인다. 자기 정의 명세서는 계층 구조를 이용하여 스스로의 구조와 속성을 정의한다. 자기 정의 명세서는 자기 구조 및 속성 정의를 통해 각종 설정 항목 및 설정의 표현 형태를 지정할 수 있다.
또한, 자기 정의 명세서는 선택(Selection) 항목을 포함할 수 있다. 선택 항목은 그룹과 같이 복수 개의 구성요소를 자식으로 갖고, 그 중의 하나를 선택할 수 있도록 해준다. 단일 인터페이스에 대해 복수의 객체가 선택적으로 할당될 수 있는 경우에 선택 항목이 사용될 수 있다.
자기 명세서를 구성하는 각각의 구성 요소는 설정아이템(ConfigurationItem)을 상속한다.
도 2 내지 도 4는 자기 정의 명세서의 구성 요소를 설명하기 위한 표이다. 여러 구성 요소 중에서 도 2는 자기 정의 명세서의 설정아이템 요소를 설명하기 위한 표이다.
도 2를 참조하면, 설정아이템(ConfigurationItem) 요소는 자기 정의 명세서를 구성하는 기본 단위이다. 설정아이템은 내부에 데이터 저장을 위한 필드(field) 및 명세서의 구성을 위한 명령(command)을 포함한다. 필드 타입은 예를 들어 boolean, int, string 등을 포함한다. 명령 타입은 refers parent, refers children, requires, excludes, requiring 등을 포함한다.
도 3은 자기 정의 명세서의 그룹 및 컴포넌트 요소를 설명하기 위한 표이다.
도 3 (a)를 참조하면, 그룹(Group)은 하나 이상의 그룹(Group), 컴포넌트(Component) 또는 파라미터(Parameter)를 자식으로 갖는 설정아이템이다. 그룹 요소는 명세서를 구성하는 설정아이템들을 논리적으로 구조화하기 위해 사용될 수 있다.
도 3 (b)를 참조하면, 컴포넌트(Component)는 하나 이상의 파라미터를 갖는 설정아이템이다. 실제로 컴포넌트 요소는 설정 항목을 구성하기 위해 사용된다.
도 4는 자기 정의 명세서의 파라미터 및 선택 요소를 설명하기 위한 표이다.
도 4 (a)를 참조하면, 파라미터는 하나 이상의 그룹, 컴포넌트 또는 파라미터를 자식으로 갖는 설정아이템이다. 파라미터 요소는 명세서를 구성하는 설정아이템들을 논리적으로 구조화하기 위해 사용될 수 있다.
도 4 (b)를 참조하면, 선택 요소는 복수의 컴포넌트 중에서 하나를 선택하도록 해주는 설정아이템이다. 선택 요소는 하나의 인터페이스를 구현하는 여러 개의 컴포넌트들을 가지는 경우 사용될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 자기 정의 명세서의 폼이다.
도 5를 참조하면, 자기 정의 명세서의 예시 폼이 나타나 있다. 자기 정의 명세서의 구성 요소로서, 그룹과 그 아래의 컴포넌트들이 정의되어 있고, 각각의 컴포넌트 내부에 필드 및 명령이 정의되어 있다. 이하 본 발명의 일 실시 예에 따른 OS 설정 장치(100)에 대해 설명하기로 한다.
도 6은 본 발명의 일 실시 예에 따른 OS 설정 장치의 블록도이다.
도 6을 참조하면, 자기 정의 명세서에 기반하는 본 발명의 일 실시 예에 따른 OS 설정 장치(100)는 설정 도구를 포함한다. 여기서, 설정 도구는 자기 정의 명세서 생성 모듈(110), 자기 정의 명세서 분석 모듈(120), 설정 항목 생성 모듈(130), 설정 항목 수정 모듈(140) 및 설정 항목 적용 모듈(150)로 구성될 수 있다.
자기 정의 명세서 생성 모듈(110)은 OS 설정 항목에 관한 명세가 정의된 자기 명의 명세서를 생성하거나 미리 작성된 자기 정의 명세서를 입력 받는 역할을 한다.
설정 항목 적용 모듈(150)은 해당 위치에 새로운 자기 정의 명세서를 추가함으로써 새로운 OS 설정 항목을 추가하는 역할을 한다.
본 발명의 일 실시 예에 따른 OS 설정 장치(100)는 설정 항목 생성 모듈(130)을 통해, 분석된 자기 정의 명세서의 구조에 기반하여 OS 설정 항목 목록을 생성한다. 사용자는 OS 설정 항목의 추가가 필요한 경우 해당 위치에 자기 정의 명세서를 추가하건, 미리 작성된 기존의 자기 정의 명세서를 수정하면 해당 내용이 바로 반영될 수 있다.
본 발명의 일 실시 예에 따른 OS 설정 장치(100)는 자기 정의 명세서 분석 모듈(120)을 통해 자기 정의 명세서의 구조를 분석한다.
특히 자기 명세서 분석 모듈(120) 내의 include/Exclude ConfigurationItem 항목은 선택한 설정아이템(ConfigurationItem) 항목 및 그 자식들(children)의 requires, excludes를 분석하여, 해당 설정아이템이 include/exclude 될 때 include/exclude 목록을 함께 표시하고 처리한다.
설정 항목 수정 모듈(140)은 기존의 자기 정의 명세서를 수정함으로써 OS 설정 항목을 수정하는 역할을 한다. 사용자는 설정 항목 수정 모듈(140)을 통해 OS 설정 항목의 값을 수정하고, 타입에 따른 값의 validation을 확인할 수 있다.
사용자가 수정을 끝낸 후 수정 사항을 저장하면, 컴포넌트의 상태 및 파라미터의 값에 따라 OS 설정 내용이 설정 항목 적용 모듈(150)을 통해 소스 코드에 적용된다.
파라미터의 경우 사용자가 값을 입력하지 않았다면 defaultValue로 정의된 값을 생성한다.
도 6에 도시된 본 발명의 일 실시 예에 따른 OS 설정 장치(100) 구성에서 각 모듈들은 설명의 편의를 위해 기능적으로 구분한 구성으로, 하드웨어적으로는 하나의 프로세서에 의해 처리되는 논리적인 기능으로 구성될 수 있는 것으로, 제시된 구분에 의해 본 발명을 한정하는 것은 아니다.
또한, 각 구성간의 연결 관계가 연결선으로 도시되어 있거나, 상호 간의 연결 관계가 일일이 표현되어 있지 않지만, 연결선이 도시되지 않은 구성 간에도 제어 또는 데이터 교환을 위한 통신, 전달이 발생될 수 있으며, 제시된 바에 의해서만 본 발명을 한정하는 것은 아니다.
본 발명의 일 실시 예에 따른 OS 설정 장치(100)는 컴퓨팅 장치(200)에 해당될 수 있다. 이하 컴퓨팅 장치(200)에 해당하는 본 발명의 일 실시 예에 따른 OS 설정 장치(100)의 다른 실시 예를 통해 보다 구체적으로 설명될 수 있다.
OS 설정 장치(100)는 하나 이상의 CPU(central processing unit)들, 메모리, 대용량 저장소, 입력 인터페이스 장치, 출력 인터페이스 장치로 구성된 컴퓨팅 시스템을 포함할 수 있다. 컴퓨팅 시스템의 요소들은 버스를 통해 서로 통신할 수 있다.
컴퓨팅 장치의 하드웨어 플랫폼은 개인용 컴퓨터, 핸드헬드 또는 랩톱 디바이스, 다중 프로세서 시스템, 마이크로프로세서 기반 시스템, 프로그램 가전제품, 및 이상의 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분산 컴퓨팅 환경, 예컨대 클라우드 기반 컴퓨팅 시스템을 비롯한 많은 형태들로 구현될 수 있다.
컴퓨팅 장치(200)는 입력 인터페이스 장치(210), 출력 인터페이스 장치(220), 메모리(231), 저장장치(232), 전원 장치(240), 프로세서(250), 네트워크 인터페이스 장치(260), 무선통신 장치(270) 및 버스(280)를 포함한다.
입력 인터페이스 장치(210)는 사용자의 입력에 따라 문서작성에 필요한 문자 또는 개체를 입력한다. 입력 인터페이스 장치(210)는 키보드(keyboard), 터치스크린(touch screen), 마우스(mouse), 전자펜(stylus pen) 및 펜 태블릿(pen tablet)을 포함하되, 이에 한정되는 것은 아니다.
출력 인터페이스 장치(220)는 문서편집 애플리케이션 모듈 관련 사용자 인터페이스 등을 표시하는 디스플레이(display) 및 문서를 프린트 출력하는 프린터(printer)를 포함한다. 또한, 출력 인터페이스 장치(220)는 문서 내의 문자를 음성합성(text to speech, TTS) 엔진을 이용하여 음성으로 출력하는 스피커(speaker), 헤드폰(head-phone) 및 헤드셋(head-set)을 포함한다.
프로세서(250)는 메모리(231) 및/또는 저장 장치(232)에 저장된 본 발명의 일 실시 예에 따른 OS 설정 방법에 관한 애플리케이션 모듈이 포함하고 있는 컴퓨터 명령어 셋을 실행할 수 있다. 프로세서(250)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(231)와 저장 장치(232)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(231)는 읽기 전용 메모리(read only memory, ROM) 및/또는 랜덤 액세스 메모리(random access memory, RAM)로 구성될 수 있다.
무선통신 장치(270)는 근거리 무선통신, 무선 데이터 통신 및 무선 음성 통신을 위한 장치를 포함한다.
컴퓨팅 장치(200)에 포함된 각각의 구성 요소들은 버스(280)에 의해 연결되어 서로 통신을 수행한다.
이하 상기 설명한 OS 설정 장치(100)가 실행하는 본 발명의 일 실시 예에 따른 OS 설정 방법에 대해 도 6 및 7을 참조하여 설명하기로 한다.
도 7은 본 발명의 일 실시 예에 따른 OS 설정 방법의 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시 예에 따른 OS 설정 방법은, S110 내지 S150 단계를 포함한다.
먼저, 본 발명의 일 실시 예에 따른 OS 설정 장치(100)는, 자기 정의 명세서 생성 모듈(110)을 통해 OS 설정 항목에 관한 명세가 정의된 자기 정의 명세서를 생성하거나 미리 작성된 자기 정의 명세서를 입력 받는다. 여기서, 자기 정의 명세서는, 위에서 설명한 바와 같이 설정아이템(ConfigurationItem)의 종류로서 그룹(Group), 컴포넌트(Component) 및 파라미터(Parameter)를 포함한다.
다음으로, 자기 정의 명세서 분석 모듈(120)을 통해 자기 정의 명세서의 구조를 분석한다(S120).
다음으로, 분석된 자기 정의 명세서의 구조에 기반하여 설정 항목 생성 모듈(130)을 통해 OS 설정 항목 목록을 생성한다(S130).
여기서, OS 설정 방법(S100)은, 기존의 자기 정의 명세서를 수정함으로써 OS 설정 항목을 수정하는 단계를 더 포함할 수 있다(S140).
여기서, OS 설정 방법(S100)은 해당 위치에 새로운 자기 정의 명세서를 추가함으로써 OS 설정 항목을 추가하는 단계를 더 포함할 수 있다(S150).
그리고 OS 설정 방법(S100)은 완성된 OS 설정 항목을 저장 및 소스 코드에 적용하는 단계를 더 포함할 수 있다(S160). 이로서, 자기 정의 명세서에 기반하는 OS 설정 항목들이 소스 코드에 적용되고, OS 설정이 적용된 소스 코드를 이용하여 바이너리 파일을 생성할 수 있다.
본 발명의 일 실시 예에 따른 OS 설정 방법(S100)을 이용하여, 그룹, 컴포넌트 및 파라미터가 계측 구조를 이루는 OS 설정 항목을 통해 OS 설정을 최적화할 수 있다.
특히, 본 발명의 일 실시 예에 따른 OS 설정 방법(S100)은 다중의 임베디드 장치를 지원하는 실시간 운영체제(real time operating system, RTOS)의 OS 설정에 적용될 수 있는 것을 특징으로 한다.
부가적인 특징으로서, 본 발명의 일 실시 예에 따른 자기 정의 명세서는, 그룹과 같이 복수 개의 컴포넌트들을 자식으로 갖는 설정아이템이 상기 컴포넌트들 중에서 하나를 선택할 수 있게 하는 선택 모델을 더 포함하는 것을 특징으로 한다.
또한, 본 발명의 일 실시 예에 따른 OS 설정 방법의 자기 정의 명세서 분석 단계는, 관련 설정아이템(include/exclude ConfigurationItem)을 통해, 선택된 설정아이템(ConfigurationItem) 및 그 자식들의 requires, excludes를 분석하여, 해당 설정아이템이 include/exclude 되는 경우 include/exclude 목록을 함께 표시하고 처리하는 단계를 더 포함하는 것을 특징으로 한다.
상기 도면을 통해 설명된 일 실시 예에 따른 OS 설정 방법은(S100)은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행이 가능한 명령어 셋을 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
이와 같이 본 발명의 일 실시 예에 따르면, 임베디드 RTOS 하의 개발 환경에서 임베디드 장치 부팅에 사용되는 OS 바이너리의 최적화를 수행할 수 있다.
또한, 임베디드 시스템에서 복수의 임베디드 장치를 지원하는 OS 바이너리의 최적화를 위한 OS 설정이 가능하다.
또한, 유연한 구성, 사용자 친화적인 인터페이스를 통해 오류 방지 및 복구가 용이하게 OS 바이너리의 최적화를 위한 OS 설정이 가능하다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: OS 설정 장치
110: 자기 정의 명세서 생성 모듈
120: 자기 정의 명세서 분석 모듈
130: 설정 항목 생성 모듈
140: 설정 항목 수정 모듈
150: 설정 항목 적용 모듈

Claims (7)

  1. OS 설정 항목에 관한 명세가 정의된 자기 정의 명세서를 생성하거나 미리 작성된 자기 정의 명세서를 입력 받는 단계;
    자기 정의 명세서의 구조를 분석하는 단계;
    분석된 자기 정의 명세서의 구조에 기반하여 OS 설정 항목 목록을 생성하는 단계; 및
    완성된 OS 설정 항목을 저장 및 소스 코드에 적용하는 단계를 포함하는, OS 설정 방법.
  2. 청구항 1에 있어서,
    기존의 자기 정의 명세서를 수정하거나 해당위치에 새로운 자기 정의 명세서를 추가함으로써 OS 설정 항목을 편집하는 단계를 더 포함하는 것을 특징으로 하는, OS 설정 방법.
  3. 청구항 1에 있어서,
    상기 자기 정의 명세서는,
    자기 정의 명세서를 구성하는 기본 단위에 해당하는 설정아이템(ConfigurationItem)으로서 계측 구조의 그룹, 컴포넌트 및 파라미터를 이용하여 OS 설정 항목, 자신의 구조와 속성을 스스로 정의하는 것을 특징으로 하는, OS 설정 방법.
  4. 청구항 3에 있어서,
    상기 자기 정의 명세서는,
    그룹과 같이 복수 개의 컴포넌트들을 자식으로 갖는 설정아이템이 상기 컴포넌트들 중에서 하나를 선택할 수 있게 하는 선택 모델을 더 포함하는 것을 특징으로 하는, OS 설정 방법.
  5. 청구항 3에 있어서,
    상기 설정 항목 분석 모듈은,
    선택된 설정아이템 및 그 자식들의 requires, excludes를 분석하여, 해당 설정아이템이 include/exclude 되는 경우 include/exclude 목록을 함께 표시하고 처리하는 관련 설정아이템(include/exclude ConfigurationItem)을 더 포함하는 것을 특징으로 하는, OS 설정 방법.
  6. 청구항 1에 있어서,
    다중의 임베디드 장치를 지원하는 실시간 운영체제(real time operating system)에서 OS 설정 항목에 적용되는 것을 특징으로 하는, OS 설정 방법.
  7. OS 설정 항목에 관한 명세가 정의된 자기 정의 명세서를 생성하거나 미리 작성된 자기 정의 명세서를 입력 받는 자기 정의 명세서 생성 모듈;
    자기 정의 명세서의 구조를 분석하는 자기 정의 명세서 분석 모듈;
    분석된 자기 정의 명세서의 구조에 기반하여 OS 설정 항목 목록을 생성하는 설정 항목 생성 모듈;
    기존의 자기 정의 명세서를 수정함으로써 OS 설정 항목을 수정하는 설정 항목 수정 모듈; 및
    완성된 OS 설정 항목을 저장 및 소스 코드에 적용하는 설정 항목 적용 모듈을 포함하는, OS 설정 장치.
KR1020180098154A 2018-08-22 2018-08-22 자기 정의 명세서 기반 os 설정 장치 및 방법 KR20200022254A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180098154A KR20200022254A (ko) 2018-08-22 2018-08-22 자기 정의 명세서 기반 os 설정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180098154A KR20200022254A (ko) 2018-08-22 2018-08-22 자기 정의 명세서 기반 os 설정 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20200022254A true KR20200022254A (ko) 2020-03-03

Family

ID=69938259

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180098154A KR20200022254A (ko) 2018-08-22 2018-08-22 자기 정의 명세서 기반 os 설정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20200022254A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230024757A (ko) * 2021-08-12 2023-02-21 주식회사 케이티 컨피그 현행화를 위한 명령어 생성 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090037223A (ko) 2007-10-11 2009-04-15 엘지전자 주식회사 시스템 종료 후 자기진단 수행시스템 및 방법, 그리고 그를이용한 부팅방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090037223A (ko) 2007-10-11 2009-04-15 엘지전자 주식회사 시스템 종료 후 자기진단 수행시스템 및 방법, 그리고 그를이용한 부팅방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230024757A (ko) * 2021-08-12 2023-02-21 주식회사 케이티 컨피그 현행화를 위한 명령어 생성 방법 및 장치

Similar Documents

Publication Publication Date Title
US11334471B1 (en) Mocking robotic process automation (RPA) activities for workflow testing
US10235140B2 (en) Defining attributes of variables in a state chart of a technical computing environment
US11038947B2 (en) Automated constraint-based deployment of microservices to cloud-based server sets
US10936309B2 (en) Development project blueprint and package generation
US10809981B2 (en) Code generation and simulation for graphical programming
US11947443B2 (en) Robotic process automation (RPA) debugging systems and methods
KR20030036736A (ko) 내장형 오퍼레이팅 시스템을 가진 디바이스를 위한 기능및 사용자 인터페이스를 형성하기 위한 방법 및 장치
US20230058197A1 (en) Distributed software development pipeline for coherent graphical user interface
KR20210131216A (ko) 로봇 프로세스 자동화를 위한 테스트 자동화
US11977904B2 (en) Systems and methods for robotic process automation of mobile platforms
US20150143267A1 (en) SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES
US20160054986A1 (en) Composable context menus
EP2769302B1 (en) Use of dynamic profiles for creating and using a distributed computing environment
US10394529B2 (en) Development platform of mobile native applications
US20220067272A1 (en) Robotic Process Automation Systems and Methods Using A Helper Spreadsheet
KR20200022254A (ko) 자기 정의 명세서 기반 os 설정 장치 및 방법
WO2016176159A1 (en) Cross-platform command extensibility
EP4086755B1 (en) Robotic process automation (rpa) comprising automatic document scrolling
US20210271458A1 (en) Managing an app method and system
US10768911B2 (en) Managing software components for software application development
WO2022127263A1 (zh) 一种代码处理方法以及相关设备
Sorvisto Tools for Data Science Developers
Sinkkonen Asymmetric multiprocessing of Linux and hard real-time systems
JP2021144602A (ja) 設定装置、設定方法、及びプログラム
JP2016197291A (ja) オブジェクト指向モデル生成装置、オブジェクト指向モデル生成方法およびオブジェクト指向モデル生成プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application