프로그래밍/시스템프로그래밍
-
[시스템프로그래밍] 10강 운영체제 개요, CPU 관리, 주기억장치 관리, 주변장치 관리, 파일관리프로그래밍/시스템프로그래밍 2014. 4. 27. 05:08
* 운영체제 개요운영체제는 사용자가 시스템을 좀더 효율적으로 사용할 수 있도록 해주는 aroowk 역할을 하는 프로그램대표적으로 DOS, Windows 운영체제의 기능입출력장치관리, 시스템 자원 관리, 에러 검출 및 조치로 구분입출력장치 관리 : GUI와 같은 환경등을 제공해주며 사용자가 눈으로 볼 수 있도록 출력해주는 역할을 대부분 처리한다.시스템 자원 관리 : 메모리, 프로세스, 장치, 파일등의 시스템 구성요소들을 시스템 자원이라 하는데 이러한 자원을 관리하는 역할을 수행에러 검출과 조치 : 프로그램에서 에러가 발생할 경우 이에 대한 조치를 한다. 2. 운영체제의 종류단순 일괄처리 시스템(simple batch system) : 초창기 컴퓨터 시스템은 속도가 느리고 온라인 판독기 및 프린터에만 의존하..
-
[시스템프로그래밍] 9강 프로그래밍 언어 개요, 어휘 분석기, 구문 분석기, 오류 처리프로그래밍/시스템프로그래밍 2014. 4. 27. 03:20
* 프로그래밍 언어 개요프로그래밍 언어란 컴퓨터의 프로그램을 작성하기 위하여 고안된 언어를 말한다가장 간단한 언어는 기계어를 영문자의 기호로 치환한 어셈블리어C, C++, PHP, JAVA등의 다양한 언어가 있다. 저수준 언어(low level language)컴퓨터가 이해하는 언어인 2진수, 기계어를 영문자의 기호로 치환한 어셈블리어와 같은 언어를 저급 또는 저수준 언어라고 한다.기계에 가까운 언어처리속도가 빠르다프로그래밍하기 복잡하고 시간이 많이 걸린다. 2. 고수준 언어(high level language)고수준 언어 또는 고급언어는 컴퓨터 중심의 언어가 아닌 프로그래머, 즉 사람 중심의 언어기계어로 변환해주는 컴파일러가 반드시 필요종류로는 Fortran, COBOL, C, C++, JAVA, PH..
-
[시스템프로그래밍] 8강 인터프리터의 기능, 인터프리터의 구조프로그래밍/시스템프로그래밍 2014. 4. 27. 02:29
* 인터프리터의 기능인터프리터는 해석기로서 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다.인터프리터의 기능은 컴퓨터 프로그램 언어로 만든 원시 소스 코드를 직접 실행하여 바로 효율적인 다른 중간 코드로 변환, 변환한 것을 바로 실행하게 한다.소스 프로그램을 직접 실행하거나 소스 프로그램을 효율적인 다른 중간 코드로 변환하고 변환한 것을 바로 실행하는 기능을 갖는다인터프리터는 원시 프로그램 문장을 한 문장씩 읽어서 분석하고 실행, 다음 문장을 분석하고 실행하는 방법으로 문장들이 입력되면 인터프리터는 문장들의 기능을 정의하고 그 기능대로 수행다음 문장을 읽어서 분석하고 실행하기를 반복인터프리터를 이용하게 되면 원시 프로그램 작성 시 많은 에러가 실제적으로 프로그램이 수행될 ..
-
[시스템프로그래밍] 7강 로더와 링커의 기능, 로더의 형태, 바인딩, 연결 및 재배치 로더의 설계프로그래밍/시스템프로그래밍 2014. 4. 26. 05:52
* 로더와 링커의 기능 주기억 장치의 할당프로그램을 적재할 기억장치 내의 기억공간을 확보하는 것을 말한다실제 적재될 주소를 부여받게 된다. 2. 연결(linking&LINK)서로 다른 모듈 사이의 상호 외부기호를 참조할 때 이 기호들에 주소값을 주어 각 모듈들을 연결하여 적재 모듈로 만들어 주는 작업 3. 재배치 및 적재(relocation)적재될 주소가 결정됨에 따라 수정되어야 할 기호들을 재배치상대주소들을 수정하여 절대주소로 변경하는 작업을 수행 4. 프로그램의 연결(적재 : load)재배치가 완료된 적재 모듈을 주기억 장치로 읽어들이는 작업을 말한다. * 로더의 형태로더의 형태로는 컴파일 즉시 로더, 링커 및 재배치 로더, 링킹 로다, 동적 로더로 나눌 수 있다.컴파일 즉시 로더는 단순히 적재된 것..
-
[시스템프로그래밍] 6강 매크로, 매크로의 기능, 매크로 프로세서의 설계프로그래밍/시스템프로그래밍 2014. 4. 26. 05:10
* 매크로 매크로의 정의반복되는 일련의 명령들을 하나의 새로운 이름으로 정의해 놓고 프로그래머가 쉽게 이용할 수 있도록 하는 것새로운 기능을 정의하여 확장할 수 있는 기능을 제공매크로 처리는 매크로 호출에 대한 소스 확장으로 이루어진다.확장은 매크로 프로세서가 처리하고 대부분 어셈블리 언어세서 사용된다매크로는 어셈블러에 포함되거나 별도의 프로그램 생성이 가능 2. 매크로 호출과 매크로 확장여러 번 반복하여 수행해야하는 처리구문을 매크로로 정의하여 더욱 편리하게 활용 가능하다. 3. 매크로와 서브루틴매크로는 반복되는 일련의 작업들을 프로그램에서 호출하였을 때 주 프로그램에 매크로 정의된 내용을 복사, 확장하여 실행하도록 구성된 것이며 반면 서브루틴은 프로그램 실행시에 프로시저가 있는 위치로 이동하여 처리하..
-
[시스템 프로그래밍] 5강 어셈블러 개요, 이중 패스 어셈블러, 이중 패스 어셈블러의 설계, 다중 패스 어셈블러, 테이블 처리프로그래밍/시스템프로그래밍 2014. 4. 26. 03:47
* 어셈블러 개요어셈블러는 어셈블리어 명령에 의해 쓰여진 원시 프로그램을 입력받아 목적 프로그램을 생성해 주는 역할을 한다기계어와 일대일 대응으로 번역하며, 작업과정이 컴파일러보다 간단어셈블리 소스 프로그램은 입력으로 목적 코드 파일은 출력이 된다 어셀블러의 기능, cross assembler어셈블러의 역할을 어셈블리 원시 프로그램 모듈을 입력받아 독립적으로 번역하여 목적 프로그램 모듈 생성한다링커와 로더에 의해 필요한 형식에 맞추어 목적 모듈을 생성 2. 어셈블러의 입력과 출력어셈블러는 어셈블리어로 쓰여진 원시 프로그램을 입력받아 목적 프로그램 생성어셈블러의 입력은 어셈블리어로 쓰여진 원시 프로그램원시프로그램은 보조기억장치에 저장어셈블러의 출력은 목적 프로그램이 된다.목적 프로그램 역시 보조 기억장치에..
-
[시스템프로그래밍] 4강 어셈블리어 개요, 어셈블리 명령어, 어셈블러 지시어(의사 명령어)프로그래밍/시스템프로그래밍 2014. 4. 26. 01:10
* 개요저급언어는 기계어와 일대일로 대응하는 컴퓨터 프로그래밍 언어를 말한다. 대표적으로 어셈블리어가 있다.어셈블리어는 기계어와 가장 가깝기 때문에 기계의 특성을 잘 살릴수 있다는 것이 장점고속의 가상 프로그램이 가능한 것도 어셈블리어의 특징기계어와 비슷하기 때문에 이해하기 어렵다는 것이 단점어셈블리어는 기호식 언어라고도 한다 (기계어 -> 기호로 나타냄)- 어셈블리 언어로 만들어진 프로그램은 어셈블러에 의해 기계어로 번역되어 처리된다.- 어셈블리어는 기계어의 비트 형식을 기호식 언어인 니모닉 코드로 나타낸다- 니모닉 코드는 기계어의 비트형식이 나타내는 의미를 심벌로 표현한 것으로 프로그램을 이해하거나 작성하기 쉽다- 어셈블리어를 사용하게 되는 경우는 프로세서를 직접 제어해야 할 때, 속도 빠른 코드를 ..
-
[시스템프로그래밍] 3강 기계 명령어의 구성, 주소지정방식프로그래밍/시스템프로그래밍 2014. 4. 25. 03:56
* 명령어의 구성 연산코드(Operation code)연산 코드는 수행할 연산을 지정한다.연산은 니모닉에 의해 표현 2. 피연산자(operand)의 구성피연산자에 저장될 데이터의 형태는 주소, 수 , 문자, 논리 등이 있다.주소는 주기억장치의 주소이거나 레지스터의 주소를 말한다수는 정수, 고정 소수점, 부동 소수점 수, BCE등을 들 수 있다. 3. 명령어의 길이명령어의 길이는 레지스터의 개수, 주소지정방식의 종류, 명령어의 종류에 따라서 달라질 수 있다.기억 장치와 관련하여 명령어 길이를 살펴보면 기억장치의 용량이 많은 경우는 주소의 수가 많아지므로 오퍼랜드의 비트 수가 많아져야 한다기억장치 용량과 기억장치 조직에 의해서 주소를 지정하는 오퍼랜드 부분에 영향을 준다. * 주소지정방식주소지정방식이란 연산..