제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요

Slides:



Advertisements
Similar presentations
이번 학기 학습내용 시스템 소프트웨어 개요 시스템 소프트웨어 개요 컴퓨터시스템 개요 컴퓨터시스템 개요 프로세서 구조 프로세서 구조 어셈블리어와 매크로 프로세서 어셈블리어와 매크로 프로세서 어셈블러, 링커와 로더 어셈블러, 링커와 로더 인터럽트와 고급언어 번역시스템 인터럽트와.
Advertisements

- 1 - IT COOKBOOK 컴퓨터 기술 IT COOKBOOK Chapter 01. 서론.
운영 체제의 일반 발표자 : 백승재 황영종. 1. 운영체제의 의의 전자 계산기에서 사용자와 하드웨어와의 직접적으로 대화하는 대신 운영 체제라는 시스템 프로그램을 통하여 하드웨어를 다루는 것이다. 한정된 컴퓨터 자원을 효율적으로 관리, 운영함으로써 사용자에게 편의성을 제공하는.
컴퓨터프로그래밍 I 강원대학교 컴퓨터학부 2012 년 1 학기 담당교수 : 정충교 1. 강사진 강사 : 정충교 교수 연구실 : 공 호 조교 : 3 분반 이남세 연구실 : 공
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
OS 소개 Introduction 설계목표 기본 용어 Resource Management History.
9장. 파일시스템 A 김연주.
8장 프로그래밍 언어 8.1 프로그램이란? 8.2 프로그램 언어의 역사 8.3 프로그램 설계 절차
Chapter 1. 운영체제의 개요 이태호.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
(강의 홈페이지: 강좌 개요 서울대학교 통계학과 2010년 2학기 컴퓨터의 개념 및 실습 (강의 홈페이지:
컴퓨터란? (I) nlip.pcu.ac.kr.
Chapter 3 – 프로그래밍 언어 설계 Outline 3.1 설계 기준의 역사적 변천 3.2 효율성
강좌 개요 2009년 1학기 컴퓨터의 개념 및 실습.
컴퓨터 소프트웨어.
Operating Systems Overview
과목 홈페이지  전산학개론 이메일 숙제를 제출할 경우, 메일 제목은 반드시 ‘[전산학개론]’으로 시작.
Lecture # 어셈블러 설계.
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
Kasimov C언어 세미나 1st.
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
(PROJECT명: Web Server관리)
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
Visual C++ Programming
2 운영체제 소개.
Computer Architecture
프로그래밍 서울대학교 통계학과 2009년 2학기 컴퓨터의 개념 및 실습 (
『디지털 경제시대의 경영정보시스템』 김효석 · 홍일유 공저 ⓒ 2000, 법문사
Chapter 06 명령어와 번지지정 방식.
1장. 프로그래밍 언어, C 프로그래밍.
Operating System System Program OS의 목적 OS의 종류 Application Program과 구별
운영체제 이나현.
작업장에서 불의의사고로 절단사고가 발생했다면
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
제 1장 시스템 소프트웨어의 개요.
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
명품 C++ 프로그래밍 1장. C++ 시작.
Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어
글사랑 캡션 편집 안드로이드 앱 담당 교수님 전진우 교수님 진세훈 정상기 글사랑.
2015. 인문소양교육.
운영체제(Operating System)
운영체제 (Operating Systems) (Memory Management Strategies)
제 10장 운영체제.
7장 메모리 관리 메모리 관리를 위한 메모리 할당 기법과 경영에 대해 알아본다. 단편화 현상의 원인과 해결 방법을 알아본다.
운영체제 발표자료 B반 최민웅.
제1장 정리 컴퓨터소프트웨어과 2-A반 주세호.
1장 기본적인 사항 순천향대학교 컴퓨터공학부 하 상 호.
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
제6장 소프트웨어와 정보시스템 김진수
Management Cost Calculation Program
Name Title Company Name
언어 언어 사람 사람 사람들간의 의사 소통을 위한 수단
(생각열기) 횡파와 종파를 구분하는 기준은 무엇인가?? 답 : 진동하는 방법의 차이
수학8가 대한 108~110 쪽 Ⅴ. 부등식 2. 일차부등식 §1.일차부등식의 풀이(5/10) 일차부등식의 풀이.
Chapter 3 – 프로그래밍 언어 설계 Outline 3.1 설계 기준의 역사적 변천 3.2 효율성
컴퓨터 새내기 탈출 4. 컴퓨터에 생명을.
C언어 개요 프로그래밍이란 프로그래밍 언어란 컴퓨터와의 의사소통을 위한 표현 방법 세대별 언어의 발전을 거듭함
성경퀴즈 여호수아1장 3장 복습게임.
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
자료구조 강의소개 정성훈 연락처 : 이메일 : 연구실 : 연219호 연락처 : 이메일 : 홈페이지: 정성훈.
1장 운영체제의 소개 컴퓨터소프트웨어 2-B 한아름.
운영체제 학 번 : 이름 : 변현영.
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
컴퓨터 프로그래밍 언어 Visual Basic 6.0 √ 원리를 알면 VB가 쉽다.
두손Order 푸드팩토리 두손Order Ver 1.0 ㈜시소이드.
제 1 강 컴퓨터의 구조.
Presentation transcript:

제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요 제1장 시스템 소프트웨어의 개요 컴퓨터시스템 및 하드웨어 구성 컴퓨터의 구성과 기능 시스템프로그램의 개요 시스템프로그램의 계층구조 프로그래밍언어의 계층구조와 종류 어셈블러,로더,매크로프로세서 컴파일러와 인터프리터,운영체제 학습목표 ㅇ컴퓨터시스템 및 하드웨어 구성에 대해 이해 ㅇ컴퓨터의 구성과 기능에 대해 이해한다. ㅇ시스템프로그램의 개요와 계층구조에 대해 이해한다. ㅇ프로그래밍언어의 계층구조와 종류에 관해 이해한다.

컴퓨터시스템의 구성 컴퓨터 하드웨어 소프트웨어 입출력장치 시스템프로그램 중앙처리장치 기억장치 응용프로그램 컴퓨터시스템의 구성과 기능 1) 컴퓨터시스템의 구성 컴퓨터시스템은 크게 나누어 하드웨어와 소프트웨어로 구분된다. 하드웨어는 중앙처리장치, 기억장치, 입출력장치로 구성되고 다시 중앙처리장치는 제어장치와 연산장치로 구성되며 기억장치는 주기억장치와 보조기억장치로 구성된다. 특히 중앙처리장치는 프로세서라고도 하며 컴퓨터시스템의 핵심으로 오늘날 개인용컴퓨터가 보편화됨에 따라 마이크로프로세서들이 널리 사용되고 있다. 소프트웨어는 사용자가 컴퓨터시스템을 쉽게 사용할 수 있도록 매개체 역할을 하는 시스템프로그램과 사용자가 특정한 작업을 위해 개발한 프로그램이나 전문 소프트웨어 업자에 의해 상업적으로 만들어진 패키지 등의 응용프로그램으로 나눌 수 있다. 중앙처리장치 기억장치 응용프로그램

컴퓨터의 구성과 기능 제어장치 입력장치 출력장치 데 정 이 보 터 연산장치 주기억 장치 명령어 해독 명령어의 실행지시 사칙연산,비교 1) 컴퓨터시스템의 구성 컴퓨터시스템은 크게 나누어 하드웨어와 소프트웨어로 구분된다. 하드웨어는 중앙처리장치, 기억장치, 입출력장치로 구성되고 다시 중앙처리장치는 제어장치와 연산장치로 구성되며 기억장치는 주기억장치와 보조기억장치로 구성된다. 특히 중앙처리장치는 프로세서라고도 하며 컴퓨터시스템의 핵심으로 오늘날 개인용컴퓨터가 보편화됨에 따라 마이크로프로세서들이 널리 사용되고 있다. 소프트웨어는 사용자가 컴퓨터시스템을 쉽게 사용할 수 있도록 매개체 역할을 하는 시스템프로그램과 사용자가 특정한 작업을 위해 개발한 프로그램이나 전문 소프트웨어 업자에 의해 상업적으로 만들어진 패키지 등의 응용프로그램으로 나눌 수 있다. 2) 컴퓨터시스템의 기능 입력장치를 통해 들어온 프로그램이나 데이터는 주기억장치에 보조기억장치에 저장된다. 보조기억장치에 저장된 프로그램이 실행되기 위해서는 주기억에 위치되어야 하고 주기억에 있는 프로그램의 각 명령은 제어장치에서 해석된 후 연산장치에서 해석된 명령에 따른 작업을 실행한 후 결과(정보)는 다시 기억장치에 저장하거나 출력장치로 내보낸다. 주기억 장치 프로그램의 저장 데이터의 저장 보조기억 장치

펌웨어 펌웨어는 PROM (programmable read-only memory) 내에 삽입되어, 영구적으로 컴퓨터 장치의 일부가 되는 프로그램이다. 펌웨어는 여느 소프트웨어와 같은 과정으로 만들어지며, 마이크로코드 시뮬레이션을 이용하여 테스트된다. 준비가 되면, 다른 소프트웨어처럼 배포될 수 있으며, 사용자가 특별한 사용자 인터페이스를 이용하여 PROM 내에 설치할 수 있다. 펌웨어는 때로 프린터나 모뎀 그리고 다른 컴퓨터 장치들의 성능을 높이기 위해 배포되기도 한다. IBM에서는 펌웨어라는 용어 대신에 마이크로코드라는 용어를 즐겨 사용한다.

프로세서의 개념 처리장치의 중요 구성요소 오늘날 마이크로프로세서가 보편적 인텔의 80486/586,펜티엄프로등 점점 고밀도,고속,병렬화

시스템프로그램의 개요 하드웨어의 관리 마이크로 코드화 사용자 편의의 지향 운영체제,컴파일러,유틸리티

시스템프로그램의 계층구조 사용자 사용자 링커 로더 어셈블러 응 램 용 프 로 그 사용자 사용자 매크로 프로세서 컴파 하드웨어 일러 하드웨어 운영 체제 펌웨어 화일 시스템 어셈블러 시스템프로그램은 그림과 같이 하드웨어를 둘러싸고 있으며 응용프로그램의 명령을 입력으로 받아 하드웨어를 제어하는 프로그램들의 집합으로 운영체제, 컴파일러, 어셈블러, 파일시스템, 링커, 로더, 매크로프로세서 등이 있다. 이 중 운영체제는 가장 하드웨어와 가까우면서 사용자가 시스템을 쉽게 이용할 수 있는 주요한 기능들을 담당한다. 따라서 시스템프로그램의 기능이 떨어질 경우 하드웨어의 성능이 뛰어날지라도 전제적인 사용환경이 열악할 수 있는 바 컴퓨터를 가장 효과적이고 효율적으로 이용하기 위해서는 다양한 시스템프로그램을 갖출 필요가 있다. 원시프로그램을 번역하기 위해서는 프로그래밍언어마다 다른 각각의 컴파일러나 인터프리터가 요구되고 컴퓨터를 쉽게 사용하기 위해서는 그래픽메뉴를 이용할 수 있는 운영체제가 요구되는 것이다. 오늘날 널리 사용되고 있는 비쥬얼 BASIC, 비쥬얼 C++와 같은 프로그래밍언어나 Windows와 같은 운영체제가 좋은 예가 될 수 있다. 응 램 용 프 로 그 사용자 사용자

프로그래밍언어의 계층구조 컴퓨터 인간 생산성 < < < 번역 기호 언어 고급 언어 기 계 어 자 연 어 3. 프로그래밍언어와 계층구조 프로그래밍언어는 크게 구분하여 자연어, 고급언어, 기호언어, 기계어로 나눌 수 있으며 기호언어나 기계어를 저급언어라고도 한다. 1) 자연어 인간이 사용하고 있는 언어로 수없이 많으나 이 모든 언어를 컴퓨터 상에서 사용될 수 없다. 다만 몇몇 언어에 대해서는 상당히 발전되어 컴퓨터가 인간의 말은 거의 인식할 수 있을 강력한 기능을 가지고 있다. 2) 고급언어 자연어보다는 강력하지 못하나 사용자가 컴퓨터에게 인간의 관점에서 작업을 지시할 수 있으며 인간이 사용하고 있는 언어와 비슷한 문법적 구조를 갖고 있는 언어라고 할 수 있다. 예를 들어 "X와 Y를 더해 Z에 저장하라"하는 자연어의 명령을 고급언어로 작성하면 아래와 같다. BASIC의 경우 : 10 Z = X + Y FORTRAN의 경우 : Z = X + Y C의 경우 : Z = X + Y; COBOL의 경우 : ADD X TO Y, MOVE Y TO Z 즉 같은 작업일지라도 프로그래밍언어마다 다를 수 있기 때문에 컴퓨터시스템의 입장에서 같을 수 있도록 컴파일러나 인터프리터가 번역 또는 해석을 해 주어야 한다. 번역

프로그램밍언어의 종류 저급언어 * 기계어,어셈블리어 고급언어 * COBOL,FORTRAN,PASCAL, C, C++ 3) 기호언어 고급언어보다 기계어와 가까우나 연상명령과 상징번지를 사용하여 프로그램을 작성하는 것으로 고급언어보다 실행효율은 높으나 프로그램의 작성이 쉽지 않으며 컴퓨터의 하드웨어적 특성에 따라 다를 수 있다. 예로 인털 프로세서를 이용하여 위의 고급언어인 Z = X + Y를 기호언어로 작성하면 아래와 같다. 즉 하나의 고급언어 명령은 여러개의 명령으로 나누어 진다. MOV AX, X ADD AX, Y MOV Z, AX 위에서 MOV나 ADD는 연상명령을 나타내고 AX는 프로세서내의 임시기억장치인 레지스터를 나타내고 있다. 4) 기계어 0과 1로 구성되며 기호언어와 1대 1의 대응관계를 가진다. 이 언어는 기호언어와 마찬가지로 컴퓨터마다 다를 수 있다.

시스템프로그램의 종류 어셈블러 매크로프로세서 링커와로더 트랜스레이터(컴파일러) 운영체제 화일시스템 정보통신용어사전 http://www.terms.co.kr

어셈블러 기계어에 대응하는 기호사용 연상기계어라고도 함 (Mnemonic Machine Language) 어셈블리어를 기계어로 번역 목적프로그램의 생성 1) 어셈블러 기호언어로 작성된 원시프로그램을 기계어로 번역하는 시스템프로그램이다. 이 번역프로그램은 컴퓨터에서 사용된 프로세서에 따라 다른 것이 보통이다. 사용자의 기억을 돕는 기계어(mnemonic machine language)를 어셈블리 언어 또는 어셈블리어(assembly language)라 한다. 어셈블리어를 기계어로 자동적으로 변환해 주는 프로그램을 어셈블러라 하고, 어셈블러에 대한 입력을 원시 프로그램(source program)이라 하며, 출력은 그 프로그램의 기계어로 번역된 형태로서 목적 프로그램(object program)이라 한다.

어셈블리 프로그래밍의 예 C = A + B 고급언어 MOV AX, A ADD AX, B 어셈블리어 MOV C, AX 레지스터 이름 MOV AX, A ADD AX, B MOV C, AX 어셈블리어

매크로프로세서 매크로 정의 매크로 호출 매크로 확장 프로그램의 일부를 축약화 3) 매크로프로세서 우리가 프로그램을 작성하다 보면 어느 일정한 루틴들이 반복되는 경우가 있다. 이러한 코딩의 번거로움을 피하기 위해 반복되는 부분을 하나의 이름으로 정의해(매크로 정의) 두고 반복되는 루틴들이 나타날 장소에 그 이름을 기술하는 것이다. 어셈블러가 원시프로그램을 번역하기 전에 정의된 이름이 나타나면(매크로 호출) 매크로프로세서는 그 이름으로 정의된 루틴을 가져와(매크로 확장) 대체시키게 된다.

링커와 로더 링커 여러 개로 나누어진 원시모듈들은 어셈블러에 의해 별도로 어셈블되어 각각 다른 목적모듈들로 만들어져 보조 기억 장치에 저장된다. 이 모듈들을 실행할 때는 링커로 연결 로더 목적프로그램을 주기억에 적재 프로그램의 실행 준비 기억장소를 적게 점유 절대적 적재와 재배치 적재 2) 로더 로더는 크게 절대로더와 재배치로더, 링킹로더로 나눌 수 있다. 절대로더는 프로그래머가 지정해준 주기억장치의 주소에 실행프로그램을 저장시키므로 주소가 잘못 지정될 경우 다른 프로그램을 파괴할 수 도 있다. 재배치로더는 번역된 실행프로그램을 빈공간에 적절하게 재배치되며 프로그램의 번지는 논리적이나 적재될 때 프로그램의 물리주소가 결정되도록 하는 로더이다. 또한 링킹로더는 여러 프로그램이 번역되여 목적모듈이 생성되어 있을 때 연결과 적재를 한꺼번에 수행하여 주기억에 재배치시키는 로더이다.

절대 적재시 기억장소의 할당 기억장치 기억장치 SQRT 프로 그램 파괴 SQRT 기억 장소 손실 프로그램2 프로그램1

재배치 (relocation) 프로그램들이 기억장치 내의 임의의 장소에 적재될 수 있도록 조정 프로그램을 위한 기억 장소 할당(allocation) 목적 프로그램간의 기호적 호출 연결(linking) 주소 상수(address constant)같이 주소에 종속되는 부분을 할당된 기억 장소에 일치하도록 조정(relocation) 실제적으로 기계어 명령들과 자료를 기억 장치에 적재(loading)

컴파일러와 인터프리터 컴파일러 * 일괄 번역형 * COBOL,FORTRAN,PASCAL,C++ 인터프리터 * 줄당 해석형 * BASIC,PROLOG 1) 컴파일러 원시프로그램을 일괄적으로 번역하여 목적프로그램을 생성하는 것으로 프로그래머 입장에서 볼 때 융통성은 적으나 컴퓨터 입장에서 볼 때 실행효율이 높다. 이러한 방식을 이용한 언어로는COBOL,PASCAL,C, C++, FORTRAN 등이 있다. 2) 인터프리터 원시프로그램을 줄단위로 입력을 받아 해석한 후 바로 실행하며 목적프로그램을 생성하지 않는 것으로 프로그래머 입장에서 볼 때 수정이나 편집 등의 융통성은 높으나 실행효율이 떨어지는 단점을 갖고 있다. 이러한 방식을 이용하는 언어로는 LISP, BASIC, PROLOG, JAVA 등이 있다.

운영체제의 개요 프로그램의 샐행을 제어하는 소프트웨어로 자원의 할당, 스케쥴링, 입출력제어, 데이터관리등의 서비스를 제공하는 것 주요기능 File Management - 입출력및 데이타관리 Job Management - 자원할당(memory,CPU,..), Job 스케쥴링 Task Management - Job을 처리 기본단위인 Task로 실행 분산,병행,다중처리로 발전 초기에는 일괄,다중,시분할 처리 3) 운영체제 시스템프로그램에서 가장 중요한 것으로 사용자가 컴퓨터시스템을 효율적이고 쉽게 사용할 수 있도록 사용자와 시스템간의 인터페이스 역할을 수행한다. 이러한 운영체제의 기능은 자원의 관리로 프로세서, 주기억장치, 입출력장치, 통신장치, 그리고 화일 등의 자원을 관리한다. 또한 오늘날 운영체제는 하드웨어 가격하락과 프로세서 속도 향상에 의해 분산처리, 병행처리, 다중처리로 발전되고 있다.

운영체제의 자원관리 기억장치 CPU 운영체제 화 일 입출력장치 프로세스 통신장치

제1장 요약 하드웨어와 소프트웨어의 개념 시스템프로그래밍에 대한 이해 번역 관련 소프트웨어의 개념 * 어셈블러,컴파일러,매크로프로세서 운영체제의 발전과 기능 이해 ㅇ 컴퓨터시스템은 하드웨어와 소프트웨어로 구성되며 소프트웨어는 시스템소프트웨어와 응용소프트웨어로 나누어진다. ㅇ 시스템프로그램은 사용자가 이용하는 응용프로그램과 컴퓨터 하드웨어 사이에서 사용자들이 컴퓨터시스템을 효과적으로 이용할 수 있도록 해준다. ㅇ 시스템프로그램에는 운영체제, 번역관련 프로그램, 링커, 로더, 매크로프로세서, 각종 유틸리티 등이 있다. ㅇ 운영체제는 시스템프로그램 중 가장 중요하며 주로 컴퓨터시스템 자원을 관리하게 되는데 MS-DOS, Windows, OS/2, UNIX, VM, MVS 등은 운영체제이다.