전문가시스템 (Expert System)-ES와 DSS의 차이
'PPT' 카테고리의 다른 글
용액에 따른 식빵곰팡이의 반응 (0) | 2015.01.10 |
---|---|
먹이의 종류에 따른 우렁이의 성장-자율 탐구 (0) | 2015.01.03 |
동물세포의 발생:::1.난할과 낭배형성 (1) | 2014.12.28 |
실시간 운영체제와 임베디드 시스템 (0) | 2014.12.25 |
미시경제학입문 (0) | 2014.12.20 |
MSNU
용액에 따른 식빵곰팡이의 반응 (0) | 2015.01.10 |
---|---|
먹이의 종류에 따른 우렁이의 성장-자율 탐구 (0) | 2015.01.03 |
동물세포의 발생:::1.난할과 낭배형성 (1) | 2014.12.28 |
실시간 운영체제와 임베디드 시스템 (0) | 2014.12.25 |
미시경제학입문 (0) | 2014.12.20 |
동물세포의 발생
1. 난할과 낭배형성
* 다세포 동물은 수천 수백만 개의 세포로 이루어짐
수정란이 난할(cleavage) 과정을 거치기 때문임
난할
1) 수정란의 체세포 분열로 S기와 M기만 있음
2) 난할은 난황(Yolk)의 영향 받음
난황은 난할구 형성을 방해해서 세포분열 패턴에 영향을 줌
난황의 양이 적을 경우 난할에 거의 영향을 주지 않음
3) 난할이 진행 될수록 세포(할구)수 증가, 세포의 크기는 작아짐
수정란 2세포기 4세포기 8세포기 16세포기
상실기 포배기 낭배기 기관형성
* 난할 방식
1. 난할과 낭배형성
2. 낭배형성(신체구조 만들기)
1) 배발생의 2단계로 많은 세포 증가
2) 모든 세포를 독특한 세포층으로 나누는 과정
3) 낭배의 세포를 세 개의 층으로 나눔
• 외배엽(바깥세포 층, ectoderm)–뇌, 머리카락, 손톱, 눈의 렌즈 등
• 내배엽 층 (속세포 층, endoderm)-골격계,순환계 등
• 중배엽 층 (제 3의 세포층, mesoderm)-소화관 안쪽의 벽 등
개구리 낭배발달
2. 기관형성
• 3개의 배엽이 각 조직의 기관으로 분화되면서 동
물 모양이 형성되기 시작
2. 특히 척삭(notochord)이 중배엽에서 발달
척삭은 물렁뼈 조직으로 만들어지고 배의 길이만큼 길게 늘어남. 나중에 척추로 발생됨
3. 외배엽 일부가 신경판(neural plate) 으로 발달
신경판에서 신경주름(neural fold)형성
신경판이 둥글게 말려 신경관(neural tube) 형성
신경관은 나중에 뇌와 척수로 발생됨
척사, 신경주름, 신경판 형성
3. 세포의 예정된 죽음
1. 예정된 세포 죽음(apotosis, 세포자살)
적절한 시간에 세포가 스스로 죽는 것
예)) 태아기 때 손가락, 발가락 형성
올챙이의 변태과정 중 꼬리가 없어지는 것
2. 괴사(necrosis, 세포타살)
세포가 독극물에 의한 손상 또는 영양분 결핍
예)) 상처부위의 딱지
4. 사람의 태반 형성
1. 사람은 수정 후 약 24시간째 부터 난할 시작
2. 수정 후 6~7일째 자궁에 도달
4. 동물발생 관찰
【탐구 1】 개구리의 배발생을 관찰해 보자.
• 개구리의 발생 단계를 각각 견출지에 적어 샬레에 붙이고 증류수를
담아 놓는다.
• 1회용 스포이드를 이용하여 개구리의 각 발생 단계를 준비된 샬레
에 담아 간다.
• 홀슬라이드글라스에 증류수 한 방울을 떨어뜨리고 관찰하고자 하는
개구리 발생단계의 알을 올려 놓는다.
4. 해부현미경 또는 루페를 사용하거나 광학현미경으로 관찰한다.
(단, 광학현미경 사용시 가장 낮은 배율을 사용하고 커버글라스는
덮지 않는다.)
5. 관찰된 각 단계를 스케치하고 특징을 기록한다.
4. 동물발생 관찰
【탐구 2】 닭의 배발생을 관찰해 보자.
1. 유정란 담을 샬레를 준비한다.
2. 부화기에서 유정란을 꺼내고 한 손으로 유정란의 넓은 부분은 위로, 좁은 부
분이 밑을 향하게 세워 잡는다.
3. 끝이 뾰족한 핀셋으로 유정란의 넓은 윗면을 콕콕 두드려 작은 구멍을 낸다.
4. 작은 구멍이 생기면 핀셋으로 달걀의 난각(껍질)을 천천히 조금씩 뜯어낸다.
500원 짜리 동전 크기 정도까지 뜯어낸다.
5. 난각이 어느 정도 뜯겨나가면 흰색의 난각막이 보이게 되는데 발생이 진행
될수록 난각막은 난각과의 틈이 많이 생겨 뜯어내기가 오히려 더 쉽다. 난각
막 역시 핀셋으로 살살 뜯어낸다.
6. 난각막까지 뜯어내면 흰 점과 같은 병아리의 배를 관찰할 수 있다. 72시간
경과된 유정난의 난각막을 뜯어내는 순간 심장 박동 관찰이 된다.
7. 난각막을 뜯어 배가 관찰이 되면 준비된 샬레에 쏟아 배의 진행 상태를 더
관찰한다.
4. 동물의 발생관찰
1. 수정란 : 보통 흑색의 윗부분이 동물극, 황색을 띤 밑부분이 식물극
2. 2세포기4세포기8세포기16세포기32세포기로 진행. 난황이 많은 식물극은 동물극
보다 분할이 늦고 할구가 큼.
3. 포배기(blastular stage) : 배의 내부에 난할강(blastocoel)이 형성. 난할은 더욱 작아져서 육안
으로 구별할 수 없음.
4. 낭배기(gastrular stage) : 흑색과 황색의 경계면에 작은 구가 형성. 이 구는 원장이 함입하여
생성. 입구를 원구, 그 윗부분을 원구배순부라 부름. 시간이 지나면 원구는 점점 안으로 들어가
난황마개(또는 난황전)을 형성.
5. 초기 신경배(early neurula stage) : 원구배순부의 전방에 작은 구가 생기고, 이것이 발달하여
신경구(neural groove)를 형성. 그 후 신경구는 폐쇄되고 신경관(neural tube)이 됨. 배는 점점
머리 쪽과 꼬리 쪽이 길어지고 두부 밑 쪽에 구함(stomodaeal invagination)과 흡착기(sucker)
가 형성됨. 내장기관 및 근육의 원기는 이 시기부터 이루어짐.
6. 미아기(tail bud stage) : 유생초기로 2쌍의 외새(원시적인 아가미)가 형성. 완전한 유생은
아가미 뚜껑이 발달하여 외새를 덮어 보호. 유생의 후기에는 뒷다리의 원기가 형성되고 눈이
확인 됨. 변태기에 새실(새역) 중에서 앞다리의 원기가 확인. 계속 변태가 진행되면서 완전한
성체로 변태
4. 동물의 발생 관찰
▶ 개구리의 발생 ◀
4. 동물의 발생 관찰
▶ 닭의 발생 ◀
1. 닭은 강단황란. 주로 노른자위(卵黃)로 구성. 그 위에 배반(胚盤)
있고 이 배반에는 핵과 세포질이 있어 수정과 난할이 일어남.
2. 노른자위는 배 발생에 필요한 양분. 보통 무정란은 1차 난모세포
상태로 난소에서 방출. 계란이 난관을 지나는 동안 흰자위(卵白), 난
각막, 껍질이 노른자위 겉을 싸게 됨.
3. 유정란은 계란이 난소에서 수란관으로 배란된 후 정자가 들어오면
곧이어 제 1 감수분열, 제 2 감수분열을 해서 수정을 함.
4. 수정이 완료 된 후 바로 난할이 시작. 난할은 수란관을 내려가는
동안 계속 진행. 산란이 될 때의 알은 포배기 상태.
5. 계란에서 병아리가 되는 부분은 배아부분. 난황과 난백은 병아리
가 되는데 필요한 영양분.
6. 수정란의 발생 최적온도(38℃ 내외)와 적절한 습도(50~60%)를
유지시키면 21일 만에 병아리가 탄생 됨.
4. 동물의 발생 관찰
▶ 닭의 발생 ◀
4. 동물의 발생 관찰
▶ 닭의 발생 ◀
* 사진자료
* 사진자료
* 병아리 발생
* 병아리 발생
* 효소 실험
* 농도에 따른 소화효소 실험
* 표면적에 따른 소화효소 실험
먹이의 종류에 따른 우렁이의 성장-자율 탐구 (0) | 2015.01.03 |
---|---|
전문가시스템 (Expert System)-ES와 DSS의 차이 (0) | 2014.12.30 |
실시간 운영체제와 임베디드 시스템 (0) | 2014.12.25 |
미시경제학입문 (0) | 2014.12.20 |
혁신학교::필요성,기본 방향,중점추진 과제,일반화 (0) | 2014.12.17 |
목 차
실시간 운영체제
실시간 시스템 개요
실시간 시스템과 임베디드 시스템
실시간 운영체제 적용기술과 사례
실시간 운영체제 현황
상용 실시간 시스템 현황
임베디드 Linux
RT-Linux
실시간 운영체제 기술 동향
실시간 운영체제와 임베디드 시스템
Real-Time OS and Embedded System
운영체제
운영체제란?
자원 관리자 (Resource Manager)
응용에게 자원에 대한 서비스 제공 (Computing Environment)
자원의 종류
물리적인 자원 : 처리기, 메모리, 디스크, 터미널, 네트웍, ...
추상적인 자원 : 태스크, 세그먼트/페이지, 파일, 드라이버, 통신 프로토콜, 패킷, 보안, ...
운영체제 종류
RTOS(Real-Time OS)
VxWorks, pSOS, LEX, uITRON, EPOCH, Nucleus
UNIX
SVR4, Solaris
BSD, HP-UX
Linux
Embedded Linux
RT-Linux
Windows System
Windows XP
Windows CE.NET
실시간 시스템 (Real-Time System)
실시간 시스템이란?
사전적 의미 : “실 시간적 요소가 포함되어 있는 기능을 하기위해 어떠한 법칙에 따라 조합된 집합체”
“ 특정 입력에 대해 주어진 시간 내에 반드시 정해진 결과를 보장해야 해야 하는 시스템” - www.foldoc.org , www.jargon.org
특정 반응에 대해 정해진 시간 내에 행동할 수 없을 때 문제가 발생하는 시스템. 그 결과가 산출되어야 하는 시간에도 적시성(timeliness)을 가지며 외부 자극에도 예측 가능한(predictable) 방식으로 반응.
timeliness? 열악한 환경 하에서도 데드라인(deadline) 이내에 논리적으로도 정확한 출력 값을 산출해 내는 것 .
deadline이란 반응에 요구되는 시간의 한계 값
분류
Hard 실시간 시스템 - 제어작업이 deadline을 어기는 경우 시스템에 심각한 영향을 주는 time-critical 속성을 지닌 시스템
예) 항공기, 우주 왕복선, 자동차 등
Soft 실시간 시스템 - Deadline을 어긴 단위 제어 작업의 무효화로 시스템의 평균적 성능에 미세한 영향을 주는 시스템
예) 컴퓨터, 정보기기, 네트워크 관련기기 등
실시간 시스템 개요
용어 설명(car and driver)
driver : real-time controller
car : controlled process
other cars : operating environment
main actuators : wheels, engine, brakes
controls : accelerator, steering wheel, brake-pedal, etc.
sensors : eyes, ears, body itself
성능(performance)
마감시간을 어기는 태스크가 없도록
태스크 데드라인
실시간 시스템 개요 (2)
실시간 시스템의 설계
적대적인 운영환경을 가정
• 전자기장의 영향, 소립자의 방사
• 계산부하가 급격히 변화
• 비교) 항온항습 되는 전산실
항공기 제어 컴퓨터
• 자세제어 태스크가 최고 우선순위
• 웍스테이션 설계 대 엔진 제어 컴퓨터 설계
* 엔진제어 태스크의 경우 마감시간 넘길 때 폭발할 수도
* 웍스테이션의 경우 단순한 성능 감소만
실시간 시스템 개요 (3)
실시간 시스템 개요 (4)
태스크의 분류
the predictability of their arrival.
the consequences of their not being executed on time.
Periodic and aperiodic tasks
periodic tasks can be prescheduled.
Aperiodic tasks with a bounded interarrival time are called sporadic tasks.
Critical and noncritical tasks
critical tasks are those whose timely execution is critical.
Noncritical tasks are not critical to the application
실시간 스케쥴링
태스크 스케쥴링
매우 많은 스케쥴링 연구들
• 공학분야, 경영분야, 산업공학분야 등
• 공학분야 논문의 30%
실시간 태스크 스케쥴링
• Feasible schedule
* 모든 태스크가 마감시간을 준수하는 스케쥴
• 입력
* 태스크 시간 특성, 마감시간, 자원요구
• 출력
* Feasible chedule
실시간 스케쥴링 (2)
실시간 스케쥴링 (3)
임베디드 (실시간) OS의 주요 개념
태스크
수행중인 프로그램 (an instance of a running program)
프로그램의 수행 환경 (an execution environment of a program)
스케줄링 단위 (scheduling entity)
제어 흐름과 주소 공간의 집합 (a control flow and address space)
멀티 태스킹
여러 개의 태스크를 동시에 실행시키는 것
일반 OS 에서의 태스크
• 각 태스크들은 대분분 무관한 프로그램임
임베디드 시스템에서의 태스크
• 하나의 큰 응용 프로그램을 논리적으로 나눈 것
* 기능상 매우 밀접한 관계
* 태스크 사이에 이루어지는 작업들이 많다.
• 응용 프로그램을 실행을 위해 여러 기능들이 동시 실행 요구
* 순차적이 아닌 동시 실행의 필요성이 있다.
임베디드 (실시간) OS의 주요 개념
스케쥴러(Scheduler)
OS의 핵심기능
다음 번에 어떤 태스크를 실행해야 하는 지를 결정하는 코드 부분
태스크 선택 정책 : 우선순위 기반의 스케쥴링
• FIFO(First In First Out), Round-robin 등
선점(Preemptive)
• 어떤 태스크가 수행되고 있을 때 커널이 중간에 그 태스크의 수행을 중지 시키고 다른 태스크의 기능을 수행시키는 기능
• 선점형 커널 / 비선점형 커널
다른 태스크로 실행이 넘어갈 때 문맥전환(context switching) 발생
Context switching
일단 현재 수행 중인 태스크 상황 하에서의 시스템 상태(문맥)를 TCB(Task Control Block)이라는 특정한 자료구조에 저장하고, 다음에 새로운 태스크의 문맥을 가져와 시스템 상태를 복원한 후에 실행하는 것
Context switching은 overhead이기 때문에 짧을 수록 효율적 임
• thread의 개념을 통해 이를 보완하는 방법
임베디드 (실시간) OS의 주요 개념
Mutual exclusion
두개의 태스크가 동시에 하나의 공유자원에 접근하려고 할 때 한 태스크에게 자원 사용에 대한 배타적 권리를 보장하는 것
Critical section : 공유자원을 access하는 일련의 코드부분
• 다른 태스크에 의해서 중단되어서는 안 되는 일련의 명령 혹은 코드 블록
상호배제 기법
• 인터럽트 발생을 방지
* Critical section에 들어가기 전에 인터럽트를 disable시키고 (CLI) 빠져 나오면서 인터럽트를 다시 enable 시키는 방법 (STI)
* 단일 CPU의 경우 단순하게 사용 가능
• semaphore 이용
* semaphore를 얻지 못하면 공유자원을 얻을 수 없으며 일단 semaphore를 얻으면 공유자원을 마음 놓고 쓸 수 있다.
* 다른 태스크를 위해서 공유자원을 다 쓰면 semaphore를 풀어야 한다.
* Semaphore가 0 이면 waiting한다.
임베디드 (실시간) OS의 주요 개념
Semaphore
공유변수 사용
mutual exclusion을 만들어 공유자원을 제어
태스크 사이의 동기화에 사용 가능
사용 방법
• 공유자원에 해당하는 semaphore를 만든다.
• 공유자원을 사용하기 직전에 해당 semaphore 얻는다.
* 변수 값이 0이 아닌 경우 그 변수 값을 1 감소 시킨다.
* 0이면 양수가 될 때까지 기다린다. (SLEEP상태)
• 공유자원을 다 쓰면 그 값을 1 증가 시킨다.
종류
• Binary semaphore : 공유자원의 변수가 0,1인 경우
• Counting semaphore : 1이상의 값
임베디드 (실시간) OS의 주요 개념
Task communication
태스크간에 통신하는 방법
• Global variable을 쓰는 방법 / message passing 방법
Global variable
• exclusive access를 해야 하며, ISR이 포함된 인터럽트를 disable해야 한다.
• Task 사이에서는 인터럽트를 disable하는 방법 외에 semaphore를 사용할 수 있다.
message passing
• Mailbox, queue, pipe – message의 크기에 따라 결정됨
Task synchronization
태스크 간의 동기화 기능
Semaphore/event flag/signal 등을 사용
임베디드 (실시간) OS의 주요 개념
Interrupt service
Asynchronous event를 CPU에 알리는 방법
Interrupt는 외부에서 들어오는 중요한 신호로서 시간에 민감한 경우가 있기 때문에 interrupt latency가 짧은 것이 좋음.
ISR자체도 짧은 것이 좋은데 그 이유는 ISR 자체가 길어지면 interrupt nesting이 되기 쉽기 때문.
ISR에서는 보통 그에 상응하는 태스크 수준의 service routine을 부르고(HISR) 끝나도록 구성.
HISR에서는 마치 태스크처럼 존재해서 수행이 된다.
임베디드 (실시간) OS의 주요 개념
Reentrancy code
인터럽트, 선점의 개념과 연관
하나의 함수를 여러 태스크가 동시에 수행 가능
‘Reentrant하다’
• 태스크 1에서 함수 1을 수행하다가 도중에 태스크 2로 제어권이 넘어가고 이 함수를 다시 호출해도 함수 1이 제대로 동작하는 것
• 전역변수를 사용하지 말 것
* 전역 변수는 shared resource이기 때문에 mutual exclusive 하도록 만들어 주지 못하는 문제가 생긴다.
• Reentrant하지 못한 code는 공유하지 않거나, 공유해야 하는 경우에는 semaphore를 쓴다거나 동일 우선 순위를 갖는 태스크 사이에서 round-robin을 하지 않아야 한다.
임베디드 운영체제
실시간 시스템에서의 S/W
간단하고 단순한 순차적인 작업에 관련
순차적인 프로그램으로 충분하였음
8bit, 16bit 마이크로프로세서 및 마이크로콘트롤러 사용
임베디드 시스템에서의 운영체제
시스템의 규모가 커짐에 따른 Multi Tasking 기능 요구
Network이나 multimedia가 시스템의 기본으로 자리 잡음
• Networking, GUI, Audio, Video
임베디드 시스템의 특성상 실시간이라는 요소를 만족해야 함
지능성이 부가되고 기능이 많아지고 복잡해짐
순차적인 프로그램 작성이 불가능하여 운영체제가 도입됨
임베디드 운영체제
기존의 상용 RTOS(Real-Time OS)
윈도우 CE
임베디드 Linux
임베디드 JAVA
상용 RT-OS와 특징
상용 실시간 운영체제 들과 특징
Windriver – VxWorks, pSOS
VxWorks의 특징
pSOSystem과 마찬가지로 VxWorks의 커널은 선점형 멀티미디어 태스킹이다.
총 256개의 태스크 우선순위를 갖는다.
두 개 이상의 태스크가 같은 우선순위를 가진다면 라운드 로빈 방식의 스케줄링을 이용한다.
통합 개발환경으로 토네이도(Tornado)가 제공된다.
약 200개 가량의 소프트웨어 모듈로 구성되어 개발자가 이들 모듈들 중에서 목표 시스템에 필요한 모듈을 선택하여 운영체제를 구성할 수 있다.
세마포어와 메시지 큐, 공유 메모리, 소켓, 시그널 등이 제공된다.
표준 TCP/IP를 이용한 네트워크 통신이 가능하며 ROM이나 로컬 디스크 등 다양한 부팅이 가능하다.
또한 MS-DOS와 RT-11등의 파일 시스템을 지원한다.
VxWorks의 구조는 크게 하드웨어에 의존하지 않는 BSP(Board Support Package)와 디바이스 드라이버, 커널과 그에 따른 모듈, 응용프로그램으로 나누어진다.
Windriver – VxWorks, pSOS
Windriver 플랫폼 구조
Nucleus
Nucleus 는 Accelerated Technology사의 실시간 운영체제로서 저작권 없는(Royalty Free)정책 때문에 널리 사용되어지는 실시간 운영체제
인공위성 및 엘리베이터, 휴대전화, 기지국, 네트워크 분야에서 강세
국내의 휴대폰 개발 업체들이 로얄티 부담을 줄이기 위해서 많이 채택하고 있음
Nucleus의 특징
Nucleus는 ARM, MIPS, PPC, M68K, SH 등 마이크로프로세서를 비롯하여, Analog와 TI 그리고, Hitachi사의 DSP등을 지원하고 있다.
ATI에서 제공하는 Nucleus Web Browser는 HTTP 1.0을 준수하며, HTML 3.2와 프레임을 지원한다.
Nucleus GRAFIX와 결합하면 아주 작은 스크린에 Nucleus Web Browser를 최적화할 수 있다.
Nucleus
Nucleus RTS 솔루션 구조도
WinCE.NET
Windows CE .NET은 Microsoft사에서 실시간 운영체제 시장 및 임베디드 시스템 시장을 위하여 개발, 제공하는 Windows CE 3.0의 후속 버전
WinCE.NT 의 특징
Windows CE .NET에는 모바일 장치가 기존의 인프라에 유연하게 접속할 수 있도록 하기위한 Bluetooth, 802.1x/Zero Configuration, OBEX(Object Exchange) 프로토콜, MediaSense , 실시간 공동 작업 및 통신(RTC/SIP)과 같은 무선 기술을 지원한다.
적은 메모리 점유율, 엔터프라이즈 수준의 보안, 다양한 CPU 지원.
실시간성 지원: 256개의 우선 순위 수준과 중첩 인터럽트 지원을 통해 시스템 자원 사용량이 많은 주요 응용 프로그램에 대한 실시간 처리를 지원
에뮬레이션 기술, 다양한 플랫폼 마법사
관리되는 코드 및 원시 코드 지원
기존의 MS Windows 시스템 및 애플리케이션과 호환성이 우수
WinCE.NET
WinCE.NET 적용분야
임베디드 리눅스
임베디드 리눅스
일반 리눅스 – 일반 테스크 탑 환경인 고성능 프로세서와 대용량 메모리 환경에서 동작 하는 범용 컴퓨터 용 리눅스
임베디드 리눅스 – 저성능의 마이크로 프로세서 와 제한된 메모리 환경에서 동작하는 임베디드 시스템 용 리눅스
임베디드 리눅스 출현 배경
H/W의 발전: 32/64bit 고성능 CPU
S/W의 많은 기능 요구: OS의 기능이 중요, 안정된 운영체제의 제공
(멀티 태스킹의 제공)
강력하고 다양한 네트워크 환경의 제공
다양한 형태의 파일시스템과 실행파일 포맷 지원
확장성의 다양함과 용이함의 제공
Free Software
임베디드 리눅스(2)
임베디드 리눅스 장점
기능성과 확장성이 우수 (리눅스 이용에 따른 장점)
PowerPC, ARM, MIPS 등 다양한 CPU Platform지원함
로열티가 없으므로 가격 경쟁력이 우수
사용자 층이 넓어 오류 수정이 빠르고 안정성이 우수
기존의 데스크 탑 개발 환경과 동일하여 개발이 용이함
임베디드 리눅스 단점
기존의 RTOS보다 많은 메모리를 요구함
범용 OS로 설계되어 Real-Time을 지원하지 못함
개발 환경이 Text 기반의 환경임으로 개발에 어려움이 있음
GUI 환경을 개발하기 어려움
제품화하기 위한 솔루션 구성이 어려움
많은 업체들과 개발자들이 독자적으로 개발하고 있어 표준화가 어려움
임베디드 리눅스(3)
임베디드 리눅스 개발환경 개념도
임베디드 리눅스(4)
임베디드 리눅스 구조
임베디드 리눅스(5)
임베디드 리눅스 커널 구조
RT-Linux - Real-Time Linux의 개요
RT-Linux 출현 배경
정확한 타이밍 제어가 가능한 Linux 운영체제
수 십 Micro-Second까지 제어 가능
Embedded System과 결합
RT-Linux - 일반 Linux의 문제점
Critical Section에서의 긴 Blocking 시간
우선 순위 보다는 기아(Starvation)문제 해결에 집중
낮은 우선 순위의 Tread도 상위 대기 큐에 있을 수 있음
공정한 자원 분배
Exhaustive, Fairness based Scheduling
Fairy-Shared Scheduler의 문제
특정 Thread의 정확한 동작 보다는 모든 Thread의 공평한 동작에 초점
Fairy-Shared Scheduler의 문제
Linear List로 Task 관리
우선 순위의 정확한 반영이 어려움
우선 순위 역전의 가능성 존재
Soft-Interrupt 발생 시점에서 Handling 함수에 도달 할 때까지의 타이밍 예측 불가능
정확한 시간 간격으로 Task가 동작하도록 보장 할 수 없음
타이밍에 엄격한 시스템에서는 일반 Linux는 사용 불가능
RT-Linux - Dual Kernel 구조
RT-Scheduler와 None RT-Scheduler가 존재
RT-Linux - Real Time Task의 구조(1)
Device Driver와 같은 형태로 Kernel의 모듈로 동작하는 RT-Task
Hardware Interrupt Emulation
Character Device Emulation
사용 가능한 라이브러리의 제한
실질적인 실시간 동작 담당
RT-Task와 FIFO, Shared Memory를 이용해 정보를 교환하는 User Task
RT-Task의 제어
RT-Task의 출력 정보 처리
RT-Linux - Real Time Task의 구조(2)
RTOS 기술동향
RTOS 구조
RTOS 기술동향 (2)
커널 발전 과정
RTOS 기술동향 (3)
RTOS 구조
Monolithic OS
Layered OS
Client-server OS
• microkernel: basic OS functions(scheduler, synchronization, etc.)
• Server tasks: responsible for different functions
• Clients: applications
• Scalable, easy to debug, robust, flexible
RTOS 기술동향 (4)
hardware abstraction layer(HAL)
Smooth and efficient porting to different platform
Scale- down kernel version
modular
dynamic extensions and upgrades to provide new features to meet market requirements
portable architectures
dynamic and adaptable systems
small memory footprint(code+workspace)
RTOS 기술동향 (5)
Process-thread-task model
a process is an application subdivided in tasks or threads
scheduling, priority, interrupts
preemptive priority scheduling
deadline driven scheduling policy
handling priority inversion
interrupt handling following different simultaneous interrupts in a pre-emptive way
minimum interrupt latency
RTOS 기술동향 (6)
라이브러리 발전 과정
RTOS 기술동향 (7)
표준화
POSIX, ISO, ANSIC
Flash, FAT
C library(POSIX)
Graphic/ Windows
GUI support
X-Windows, Motif
GTK
Java, CORBA support
network (Internet-ready)
telnet, ftp, tftp, TCP/IP,SNMP,STREAM, ATM, x.25, OSI, htto server, PPP
Security
File system
Multiprocessing support
RTOS 기술동향 (8)
개발도구의 발전 과정
RTOS 기술동향 (9)
개발 도구
Object-oriented notations and methods
design, implementation, debugging, test등 전 개발 과정에서 이용
3GL 대신 Graphical design model(notation) 이용
• UML, FSM, SDL notation 등
• reduce time to market, improve quality
graphical design editor, model compiler, graphical symbolic debugger
Cross 개발 환경 지원
Emulator, debuggers, memory analyzers, and profilers등을 포함
memory analyzer
• test point 삽입: allocated된 지점이나 free된 지점
• 어플리케이션의 메모리 자원 활용의 정보 수집
• memory leak 여부 조사
Profiler
• task나 semaphore등을 사용
• OS의 성능을 모니터
• task나 function의 실행시간의 분석을 위한 도구 지원
RTOS 기술동향 (10)
Debugger
Design-level
• model based design: concentrate on the problem rather than code
Source-level
• C/C++source level debugging, based on GNU
• setting break point and single stepping, stack debugging
Kernel-level
• low-level embedded target debugging
• memory inspection/modification
kernel configuration tool
manage components and services available to the application
전문가시스템 (Expert System)-ES와 DSS의 차이 (0) | 2014.12.30 |
---|---|
동물세포의 발생:::1.난할과 낭배형성 (1) | 2014.12.28 |
미시경제학입문 (0) | 2014.12.20 |
혁신학교::필요성,기본 방향,중점추진 과제,일반화 (0) | 2014.12.17 |
체육 교육 - Muska Mosston의수업 스펙트럼 (0) | 2014.12.14 |
동물세포의 발생:::1.난할과 낭배형성 (1) | 2014.12.28 |
---|---|
실시간 운영체제와 임베디드 시스템 (0) | 2014.12.25 |
혁신학교::필요성,기본 방향,중점추진 과제,일반화 (0) | 2014.12.17 |
체육 교육 - Muska Mosston의수업 스펙트럼 (0) | 2014.12.14 |
File Structures파일구조 and Databases데이터베이스 (0) | 2014.12.07 |
실시간 운영체제와 임베디드 시스템 (0) | 2014.12.25 |
---|---|
미시경제학입문 (0) | 2014.12.20 |
체육 교육 - Muska Mosston의수업 스펙트럼 (0) | 2014.12.14 |
File Structures파일구조 and Databases데이터베이스 (0) | 2014.12.07 |
경제체제의 변천 과정 (0) | 2014.12.05 |
• 새로운 이론이 탄생되면 기존의 이론은 묵살되기 때문에 교사들의 지식축적 및 오랜 경험으로 형성되어 온 아이디어에 방해
• 교사 개개인의 이해와 사전경험에 따라 교사의 주관적인 교육이론 실천
• 비일관적인 용어의 사용은 일관적이지 못한 학습의 원인
스펙트럼 이론의 개괄
• 교사의 지시에 학습자가 정확하게 반응
• 모델을 모방, 즉각적 피드백, 효율성 강조
• 교사가 수업 전•중•후 모든 결정
• 학습자는 교사의 지시에 따름
• 학습자가 개별적이고, 독자적으로 과제를 연습할 시간을 가지며, 교사는 학습자에게 개별적인 피드백을 제공
• 9가지 특정 의사결정 사항 학습자에게 이양
• 과제활동 전 : 교사에 의해 행해짐
• 과제활동 중 : 학습자가 9가지 의사결정
• 과제활동 후 : 교사에 의해 행해짐
• 두 명씩 짝을 지어 한 명은 학습자가 되고, 한 명은 관찰자가 되어 교사가 제공한 수행기준에 준하여 짝에게 피드백을 제공
• 과제활동 전 : 교사에 의해 행해짐
• 과제활동 중 : 학습자 9가지 의사 결정
• 과제활동 후 : 교사에 의해 행해짐
• 학습자가 스스로 과제를 수행하고, 스스로 자신의 과제수행을 평가
• 과제활동 전 : 교사에 의해
• 과제활동 중 : 의사 결정 중 9가지 의사결정
을 학습자가 행사
• 과제활동 후 : 학습자 자신이 피드백 실시
하나의 과제에 대해 여러 가지 난이도를 설정
→ 수준별 학습이 가능
학습자 스스로 과제 수준을 선택하여 학습
과제활동 전 : 교사에 의해 행해짐
과제활동 중 : 학습자 스스로 진도 결정
과제활동 후 : 학습자 스스로 결과를 평가 후
진도 재결정
• 교사의 연속적인 질문을 통해 그에 부응하는
해답을 학습자 스스로 발견하도록 유도
• 과제활동 전 : 교사-일련의 질문 및 단서제시
• 과제활동 중 : 학습자-질문의 답을 통해 기능 및
개념 발견
• 과제활동 후 : 교사와 학습자의 지속적인 상호작
용이 일어남
• 교사가 제시한 문제에 대해 수렴 과정을 통해 미리 결정되어 있는 정확한 반응 또는 해답을 발견
• 과제활동 전 : 교사에 의한 의사결정
• 과제활동 중 : 학습자에 의한 의사결정
• 과제활동 후 : 학습자는 합리적 추론의 과정을
점검하고, 해답을 확인, 이때
교사는 몇 가지 질문을 통해 참여
• 학습자 스스로 교과내용에 대해 선택, 교사가 제시한 문제에 대해 창조적으로 해답을 발견
• 과제활동 전 : 교사 - 교과내용, 주제, 해결책을
얻기 위한 문제를 제시
• 과제활동 중 : 학습자 - 해답을 찾기 위해 구체적인
학습 내용을 정함
• 과제활동 후 : 교사는 학습자가 발견한 해답을 평가
• 학습자들은 교사에 의해 결정된 교과내용
범위 내에서 질문을 만들고, 문제점들을
발견하며 그 해결방안들을 모색
• 과제활동 전 : 교사 - 공통학습 주제 선정
• 과제활동 중 : 학습자-행동과 결정
• 과제활동 후 : 학습자 스스로 결론 증명, 수정,
최종평가 함
• 학습 설계에 대한 책임과 학습 경험 등이 학습자의 주도하에 있게 됨
• 학생이 수업자체를 주도
• 교사는 학생의 계획과 결과를 확인
• 스스로 진도를 정하고 탐구하며 발견,
프로그램을 설계하고 실행
• 학습자가 수업 전. 중. 후의 모든 의사결정
• 학교 현장에서는 존재할 수 없는 스타일
• 학습자 자신이 자기 자신을 가르치게 되는
상황에서 존재
• 학습에 대한 개인적 열망 및 개별적인 학습 목표에 대한 성취 가능
관련논문 : Mosston의 체육학습 지도방법
적용을 통한 배드민턴의 학습효과 분석
관련논문 : Mosston의 체육학습 지도방법
적용을 통한 배드민턴의 학습효과 분석
관련논문 : Mosston의 체육학습 지도방법
적용을 통한 배드민턴의 학습효과 분석
관련논문 : Mosston의 체육학습 지도방법
적용을 통한 배드민턴의 학습효과 분석
관련논문 : 동료교수모형을 적용한
초등학교 체육수업의 효과
관련논문 : 동료교수모형을 적용한
초등학교 체육수업의 효과
관련논문 : 동료교수모형을 적용한
초등학교 체육수업의 효과
관련논문 : 동료교수모형을 적용한
초등학교 체육수업의 효과
우수한 교사들은 수업 전에 자신의 교수 활동
계획에 많은 시간을 할애하는데 스펙트럼 이론
은 이러한 교수 계획을 조직하는 길잡이가 될
것이다.
스펙트럼 이론은 40년 이상 대부분의 체육 지도
방법 교재에서 지속적으로 소개되어 왔으나
이러한 지속적인 명성에도 불구하고 국내에선
스펙트럼의 많은 측면들이 활용되고 있지 못한
상황이며 관련 논문도 많지 않은 실정이다.
따라서 스펙트럼 이론 자체의 교수 스타일에 관심을 가지고, 이해하도록 노력해야 할 것이며 나아가 이를 활용할 수 있는 방법을 익혀야 할 것이다.
또한 이러한 이론을 활용하여 체육교수 방법을 향상시킬 수 있는 지속적인 연구가 이루어져야 할 것이다.
미시경제학입문 (0) | 2014.12.20 |
---|---|
혁신학교::필요성,기본 방향,중점추진 과제,일반화 (0) | 2014.12.17 |
File Structures파일구조 and Databases데이터베이스 (0) | 2014.12.07 |
경제체제의 변천 과정 (0) | 2014.12.05 |
운영 체제 개념 (0) | 2014.12.02 |
혁신학교::필요성,기본 방향,중점추진 과제,일반화 (0) | 2014.12.17 |
---|---|
체육 교육 - Muska Mosston의수업 스펙트럼 (0) | 2014.12.14 |
경제체제의 변천 과정 (0) | 2014.12.05 |
운영 체제 개념 (0) | 2014.12.02 |
보안 시스템::침입 탐지.방지.VPN.출입 통제 및 모니터링 장비.방화벽 (0) | 2014.11.27 |
체육 교육 - Muska Mosston의수업 스펙트럼 (0) | 2014.12.14 |
---|---|
File Structures파일구조 and Databases데이터베이스 (0) | 2014.12.07 |
운영 체제 개념 (0) | 2014.12.02 |
보안 시스템::침입 탐지.방지.VPN.출입 통제 및 모니터링 장비.방화벽 (0) | 2014.11.27 |
알코올(술) 위험성 (0) | 2014.11.19 |
시스템 소프트웨어
소프트웨어 = 시스템 소프트웨어 + 응용 소프트웨어
시스템 소프트웨어
사용자(또는 응용 소프트웨어)가 컴퓨터 시스템을 용이하게 활용하도록 지원함
운영체제, 컴파일러, 시스템 도구 등
운영체제 (Operating System)
하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어
Software (리뷰)
하드웨어를 바탕으로 컴퓨터가 실제로 작동하기 위해 필요한 논리적 구성 요소
구분: 시스템 소프트웨어 + 응용 소프트웨어
운영체제의 구성: 커널 + 서비스 프로그램
커널 (Kernel, 좁은 의미의 운영체제)
OS의 핵심으로 부팅할 때 주기억장치에 로드되어 상주
운영체제 중 자주 사용되는 부분을 커널로 구성
CPU 스케쥴링, 인터럽트(interrupt) 처리 루틴
시스템 자원을 관리하고 입출력기능 수행
서비스
필요할 때 보조 기억장치에서 주기억 장치로 로드되어 수행
편리성 제공 : 워드패드, 계산기, 그림판 등
운영 체제의 종류
운영 체제의 종류 (작업 방식)
단일 작업(single tasking) : 한 번에 하나의 작업만 처리
MS-DOS
다중 작업(multi tasking) : 동시에 두 개 이상
UNIX, MS Windows등에서는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음
두 개 이상의 작업이 번갈아 가면서 조금씩 처리
운영 체제의 종류 (사용자)
단일 사용자
MS-DOS, Windows 95 이전 버전
다중 사용자
미니 컴퓨터 급 이상의 컴퓨터에서는 일반적으로 다중 사용자 운영 체제를 사용함
다중 사용자를 지원하는 경우에는 사용자 관리가 필요
ID, PW, 권한 부여
UNIX, Windows NT, Windows Server
Windows 98 이후 버전
운영 체제의 종류 (동작방식)
일괄 처리(batch processing)
작업 요청을 일정량 모아서 한꺼번에 처리
초기 운영 체제의 형태, 비효율적 (작업이 완전 종료 될 때까지 기다리는 시간이 많음)
운영 체제의 종류 (동작방식)
시분할 (time sharing)
여러 작업을 수행할 때 컴퓨터 처리 능력을 시간별로 분할해서 사용
일괄 처리 시스템에 비해 짧은 응답 시간을 가짐
예) UNIX
운영 체제의 종류 (동작방식)
실시간(real time) : 정해진 시간 안에 어떠한 일이 반드시 종료되어야 하는 시스템
매우 빠른 입력, 처리 속도를 가짐. RTOS (Real Time OS)라고 부름
특수 목적의 전용 프로그램을 항상 메모리에 적재하여 반복 수행
증권 거래 관리 시스템, 은행 입출금 시스템, 미사일 제어, 우주선 비행 시스템 등의 운영 체제
운영체제의 종류 (기타)
분산 운영 체제
여러 개의 컴퓨터들을 사용자에게 하나의 컴퓨터로 보이게 함
사용자는 프로그램이나 파일이 어느 컴퓨터에 있는지 알 필요가 없음
운영 체제의 기능
운영체제의 기능
(1) 프로그램 및 사용자 보호
각 사용자의 시스템 자원 사용을 통제
A가 B의 파일 삭제 방지
일반 사용자의 OS의 구성요소 제거 방지
인증(authentication)과 권한부여(authorization)
프로그램 상호간의 자원 사용 통제
잘못된 코드에 의한 자원의 비효율적인 사용 방지
다른 프로그램의 불법 접근으로부터 운영체제 보호
저장 데이터 파괴, 프린터 출력 오류
프로그램은 운영체제의 시스템 콜(system call)을 통해서만 운영체제의 기능을 이용함
OS는 시스템 호출을 검사하여 자원 사용에 문제가 없는지를 검사
(2) 입출력 관리
인터럽트(interrupt) : 운영 체제에게 특정한 서비스를 수행하도록 하는 사건 또는 오류
예) 출력 장치가 출력명령을 끝마칠 때
입력 장치에 요구한 데이터가 준비된 경우
0으로 나누게 될 때
접근할 수 없는 기억장소 접근 시
인터럽트가 발생하면, 운영체제는 수행 중이던 작업의 상태를 기억시킨 후, 인터럽트를 처리
키보드 인터럽트 처리
파일 관리
여러 보조기억 장치마다 저장 및 읽기 방식이 다름
운영체제는 보조기억 장치의 종류에 관계없이 응용 프로그램이 읽고 쓸 수 있는 방법을 제공해야 함
Create, Delete, Read, Write등과 같은 서비스를 시스템 콜에 의해서 제공
(3) 주기억 장치 관리
주 기억 장치의 어느 부분이 어떤 프로그램에 의해 사용되고 있는가를 (기억장치의 한 영역을 이용해) 기록
프로그램 실행에 주 기억 장치가 필요할 때 할당하고 더 이상 필요하지 않게 될 때 회수
여러 프로그램이 동시에 수행되므로, 주 기억 장치는 공유됨.
다른 사람의 프로그램이나 OS 보호
프로그램 할당 방식
고정 분할 방식
가변 분할 방식
가상 기억 장치
고정 분할 할당
주 기억 장치를 몇 가지 크기의 분할로 나눔
프로그램의 요청 메모리 크기보다 크면서, 비어있는 분할 중 가장 작은 메모리 영역을 할당
구현이 빠르고 간단
가변 분할 할당
프로그램이 요구하는 만큼 할당
분할 크기에 융통성이 있음, 그러나 관리가 복잡
가상 기억 장치(Virtual Memory)
주 기억 장치가 4MB인 경우, 전체 크기가 20MB인 프로그램(들)을 (동시에) 수행하려면?
프로그램 중에서 수행되고 있는 일부만 주 기억 장치에 있도록 하고 나머지는 보조 기억 장치에 저장 (필요할 때만 주 기억 장치에 적재)
실제 메모리보다 훨씬 큰 논리적 메모리 가정
컴퓨터 사용 중, 수행 프로그램의 개수가 늘어나면 성능이 저하되는 이유 중 하나
가상 기억 장치(Virtual Memory)
(4) CPU 관리 (프로그램 실행 관리)
프로세스(process) : 실행중인 프로그램
CPU는 한 순간에 하나의 프로세스를 수행하고 있음
여러 프로그램을 수행할 경우, CPU scheduling 필요
CPU 스케줄링 기법
FIFO
Round robin
Priority scheduling
FIFO (First In First Out)
처리를 요구한 순서대로 수행
짧은 시간을 요하는 프로세스도 오래 기다릴 수 있음(Unfair)
대화형 시스템에 부적합
일괄처리에 용이
Round Robin
한 프로세스를 일정한 시간 만큼만 수행하고 현재 상태를 저장한 다음, 돌아가면서 다음 프로세스를 같은 방식으로 수행(Fair)
현재 프로세스 상태를 계속적으로 저장해야 함
대화형 시스템에 적합
Priority Scheduling
각 프로세스마다 우선순위를 부여하여 우선순위가 높은 프로세스부터 수행
어떻게 우선순위를 부여 하는가가 문제
실행시간의 추정치가 가장 작은 작업에 우선순위를 주는 경우를 생각 할 수 있음
UNIX : Round Robin + Priority
(6) 사용자 인터페이스
커맨드라인 방식
MS DOS, UNIX
명령어를 키보드를 통해 문자형태로 입력
사용자가 명령어에 익숙해져야 함
GUI (Graphical User Interface) 방식
MS Windows, Mac OS
마우스를 통해 원하는 아이콘을 선택/실행
정확한 명령어를 몰라도 사용 가능
운영 체제의 예
DOS (Disk Operating System)
Microsoft에서 1981년 IBM-PC를 위해 운영 체제로 개발 (MS-DOS)
부팅(booting), 부트스트래핑(bootstrapping)
컴퓨터 전원을 켰을 때 OS가 디스크에서 메모리로 읽혀 지는 과정
단일 사용자용 운영체제, 메모리 관리 능력의 한계
MS Windows
Windows 3.x
운영체제는 아님
멀티태스킹, GUI 제공
Windows 95
Plug and Play
OLE (Object Linking and Embedding): 여러 개의 자료를 서로 연결하거나 결합할 수 있도록 하는 기능
Windows NT (New Technology)
다중 사용자 OS
이전의 PC용 Windows와 다르게 설계
Windows 2000
Windows XP
Windows Vista
Windows CE (임베디드 OS)
Windows Vista
UNIX
PDP-7에서 프로그램 개발을 위한 운영 체제 개발 (1969, Bell Lab.)
이식성(portability), 작은 커널 크기, 공개 소스 코드 (C language로 작성)
다양한 버전
System V, SunOS, Solaris, Ultrix (DEC), AIX (IBM), IRIX, Xenix, Linux (PC용)
대부분의 OS에서 핵심 부분은 UNIX를 모델로 함
대형 컴퓨터 및 전문적인 목적으로 사용
최근 GUI 를 통한 사용의 편리성 제공
OS/2, Mac OS
OS/2
IBM사에서 다중 작업 지원을 위해 개발
편리한 GUI 제공, DOS/Windows에 대한 호환성, 통합된 네트워크 환경, 안정성
Mac OS
Apple에서 초보자도 배우기 쉽고 사용하기 쉬운 컴퓨터 시스템을 위해 설계
GUI 기반, 마우스 중심의 사용자 인터페이스 (IBM, MS보다 앞섬)
Mac OS X
임베디드(Embedded) OS
임베디드 컴퓨터 시스템, 즉 특정 기기에 컴퓨팅 기능을 추가한 시스템에서의 컴퓨팅 환경을 지원하는 OS
특징
Compact – 필요한 소수의 기능만을 탑재
Efficient
대부분 RTOS. 즉, 제한된 시간 내에 반드시 계산을 완료해야 하는 제약조건을 만족시키고, 멀티태스킹이 필수로 지원됨.
종류
기기의 종류 만큼 다양함
PDA용
iPhone OS (Max OS X를 기반으로 함)
Windows CE , Pocket PC, Windows Mobile
로봇, 스마트폰, 디지털 미디어 플레이어, …
File Structures파일구조 and Databases데이터베이스 (0) | 2014.12.07 |
---|---|
경제체제의 변천 과정 (0) | 2014.12.05 |
보안 시스템::침입 탐지.방지.VPN.출입 통제 및 모니터링 장비.방화벽 (0) | 2014.11.27 |
알코올(술) 위험성 (0) | 2014.11.19 |
소아과학 개론 (0) | 2014.11.12 |