[소프트웨어공학] NS(Nassi-Schneiderman) 차트 NS(나씨 슈나이더만) 차트 모듈 명세서를 글로 쓸수도 있지만 N-S차트로 그림으로 그릴 수 있다. 플로우차트는 생각보다는 사용횟수가 많지 않다. 손으로 그리기가 까다롭기 때문이다. 이에 비해 NS차트는 더 쉽게 그릴 수 있어 생각을 더 쉽게 정리할 수 있다. 물론 NS차트만으로 모든것이 해결되는것은 아니다. 프로그램은 정해진 일을 정해진 방법으로 하도록 컴퓨터에 명령을 내리는 것이다. 컴퓨터는 정해진 일과 정해진 방법이 무엇인지 알수 없다. 왜냐하면 기계니까 따라서 우리는 두 가지 관점에서 프로그램을 만들어 갈 수 있다. 1. 무엇을 해야 하는지 생각해보기 컴퓨터에게 시킬일이 무엇이며 어떤 결과를 받아 보고 싶은지 정리 2. 어떻게 해야 하는지 생각해보기 사용자로부터 입력이 되는것과 입력없이 알 수 있는것들 가지고 어떤 처리를 어떤 순서로 진행해서 결과를 만들지 NS차트는 어떻게 원하는 결과를 얻을 수 있는지를 정리해 볼 수 있는 도구이다. NS차트 구성요소는 처리, 반복, 분기의 일반적인 프로그래밍 언어의 구성요소를 표현할 수 있다. 먼저 순차처리 네모 박스에 입력, 출력, 연산을 기록한다. 선택구조는 IF문이나 CASE문을 사용하여 처리 흐름을 기록한다. 반복구조는 While문이나 For문을 사용하여 조건에 따른 반복처리를 기술한다. 1에서 100까지 합을 구하는 ns차트 NS차트의 특징 논리의 기술에 중점을 둔 도형을 이용한 표현 방법이다. 그리기가 어렵다.(전문성이 있어야 잘 그린다) 순차, 선택, 반복으로 표현한다. 임의의 제어 이동이 어렵다. goto구조가 어렵다. 그래픽 설계 도구이다. 상자 도표라고도 한다 프로그램으로 구현이 쉽다. 조건이 복합되어 있는 곳의 처리를 명확히 식별하기에 적합하다. if문이 여러개일 때 가능 ...
[운영체제] DMA(Direct Memory Access) & 입출력 처리 방식 CPU를 대신하여 I/O장치와 Memory사이의 데이터전송을 담당하는 장치를 지칭 CPU의 개입 없이 주변장치(입출력장치)와 주기억장치와의 데이터 전송이 이루어지는 방법을 통칭 CPU와 주기억장치만이 시스템 버스에 접근할 수 있고 입출력장치는 DMA와 같은 입출력 제어기에 의해 시스템 버스에 접근할 수 있다. DMA(Direct Memory Access)의 특징 CPU의 개입 없이 주변장치와 주기억장치와의 데이터 직접 전송 프로그램 수행 중 입출력을 위한 인터럽트의 발생 횟수를 최소화하여 컴퓨터 시스템의 효율을 높임 CPU는 DMA와 상태정보 및 제어정보만을 주고 받음 속도가 빠른 디스크, 테이프 등에 사용됨 DMA는 기억장치 접근을 위해 CPU의 시스템 버스 사용권을 일시적으로 뺏는 사이클 스틸링(Cycle Stealing)을 수행한다. 시스템 버스에 대해 CPU보다 DMA의 우선순위가 높다. DMA제어기와 CPU가 시스템 버스를 공유한다. 실제 CPU가 Control하는 건 DMAC (DMA Controller)를 Control 해주는 과정을 의미합니다. 입출력 처리 방식의 종류 빠른 순위 채널에 의한 I/O 메모리 직접 접근 I/O(DMA) 인터럽트 처리에 의한 I/O 프로그램에 의한 I/O 프로그램에 의한 I/O CPU상에서 실행되는 프로그램에 의해 입출력이 직접 제어 CPU는 입출력 장치에 명령을 보낸 후 동작이 완료될 때까지 대기 CPU는 주기적으로 주변장치의 상태를 반복적으로 검사, 폴링 방식 CPU는 자원낭비 발생 인터럽트 처리에 의한 I/O 입출력 인터페이스가 주변장치의 상태를 검사하여 준비상태가 되면 인터럽트 신호를 발생하여 입출력 처리를 요구하는 방식 CPU는 그전에 수행되던 프로그램의 상태를 스택에 저장한 후 Context Switching과정을...
[운영체제] 시스템 소프트웨어, 응용 소프트웨어 차이 컴퓨터 시스템의 구성 소프트 웨어의 종류 애플리케이션(응용 소프트웨어) 애플리케이션 소프트웨어는 일반적으로 End-User를 위해 사용된다. 특수한 문제 해결을 위해 만들어지며 , 컴퓨터가 실제 하는 일에 집중하기보다는, 컴퓨터를 하나의 문제 해결을 위한 도구로써 활용하는 소프트웨어 여러 가지 프로그래밍 언어의 규칙에 맞게 문서 편집기를 이용해 소스 프로그램을 작성한다. 애플리케이션 소프트웨어는 시스템 소프트웨어를 문제 해결과 구동을 위해 사용한다. ex) 복잡한 수학 계산을 처리 시스템소프트웨어 하드웨어와 밀접한 관계를 갖고 응용 소프트웨어와 하드웨어 사이의 매개체 역할을 담당 컴퓨터의 작업을 돕는 여러가지 프로그램들로 구성되어 있다. ex) 텍스트 에디터, 컴파일러, 디버거 등을 포함. ex) 프로그램을 메모리에 적재, 인터럽트를 관리, 기억 장치를 관리 애플리케이션 소프트웨어와 가장 크게 구별되는 특징 중 하는 기계 종속성이다 일반적으로 시스템 소프트웨어는 기계 종속적, 애플리케이션 소프트웨어는 그렇지 않다고 판단한다. 시스템 소프트웨어 종류 링커 목적 프로그램을 실행 가능한 로드 모듈로 변환하는 프로그램 언어 번역 프로그램이 생성한목적 프로그램들과 라이브러리 또 다른 실행 프로그램들을 연결하여 실행 가능한 로드 모듈을 만드는 시스템 소프트웨어이며 연결 편집기라도고 한다. 연결 기능만 수행하는 로더의 한 형태로, 링커에 의해 수행되는 작업을 링킹이라고 한다. 로더 실행 가능한 프로그램을 기억장치로 적재(보조기억장치 -> 주기억장치로) 컴퓨터 내부로 정보를 들여오거나 로드 모듈을 디스크 등의 보조기억장치로부터 주 기억장치에 적재하는 시스템 소프트 웨어 로더의 일반적인 기능 : 할당 -> 연결 -> 재배치 -> 적재 로더 종류 Compile and go 로더 : 별...
댓글
댓글 쓰기