Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

heenam

Computer Science 본문

[Programming Language]/Project

Computer Science

znzltiq 2020. 3. 11. 17:09

운영체제

컴퓨터 시스템은 보통 하드웨어와 소프트웨어로 나뉜다. 

소프트 웨어는 일반적으로 시스템 소프트웨어와 응용 소프트 웨어의 두 가지 유형으로 나뉜다.

시스템 소프트웨어: 컴퓨터 하드웨어를 조정 통제

응용 소프트웨어: 특정한 업무를 수행하는 데 쓰이는 것으로 시스템 소프트웨어를 제외한 나머지 소프트웨어로 분류

운영체제: 컴퓨터 시스템의 전반적인 동작을 제어하고 저종하는 시스템 프로그램들의 집합으로서 하드웨어와 응용프로그램간의 인터페이스 역할을 하면서 CPU, 주기억장치, 입출력장치 등의 컴퓨터 자원을 관리한다.

운영체제 기능: 인간과 컴퓨터간의 상호작용, 컴퓨터의 동작을 구동, 작업의 순서를 정하고 입출력 연산을 제어, 프로그램 실행을 제어하고 데이터와 파일의 저장을 관리

커널: 기본적인 기능의 수행과 운영체제의 다른 부분에 대한 접근을 위해 항상 주기억장치에 상주

제어 프로그램

사용자와 컴퓨터 간의 대화를 가능하게 하며, 작업을 기록하고, 다양한 작업들이 무리 없이 완료될 수 있도록 컴퓨터의 동작을 전반적으로 감독한다.

감독자 프로그램: 운영체제의 주요 제어 프로그램 이며, 주기억장치에 내장되어 있으며, 필요에 따라 운영체제의 다른 부분들을 보조 기억장치에서 주기억장치로 이동하도록 지시한다. 사용자 메시지를 번역하고 이에 응답하며, 작업의 수행과 컴퓨터의 컴파일 및 실행 시간을 추적한다.

명령 처리기: 특정 지원 기능만을 지시되었을 때만 수행한다. 사용자 명령을 받아들이고, 번역하고, 실행하는 운영체제의 부분을 명령 처리기 라고 한다.

인터럽트: 어떤 특정한 서비스를 해 주기를 요구할 때나 어떤 오류가 발행하면 인터럽트가 발행하게 된다.

인터럽트란 현재 CPU가 하고 있는 일을 중단 시키고 일의 실행 순서를 가로채서 운영체제는  현재 하던 일의 상태를 기억해 두고 어떤 종류의 인터럽트가 걸렸는지 판단한 후, 그 일을 수행해 주는 운영체제 부분을 실행하면 된다.

인터럽트 처리기: 시스템으로의 모든 인터럽트를 받아들이고 처리한다.

입출력 제어시스템: 기억장치와 적절한 입출력 장치들을 스케줄링 하고 활성화 한다. 컴퓨터 시스템의 RAM에서 상주

서비스 프로그램

유틸리티와 라이브러리 프로그램은 시간을 많이 소모하는 단순 작업과 기능들을 프로그래머 대신 수행한다.

유틸리티: 효율적인 파일 관리를 함으로써 사용자가 컴퓨터 시스템을 좀 더 효율적으로 제어할 수 있게 한다.

라이브러리 프로그램: 자주 사용되는 소프트웨어 모듈과 그들의 위치를 디렉터리로 관리, 특정 사람만이 접근할수 있다.

프로그래밍

프로그래밍 언어란: 컴퓨터에 원하는 알고리즘을 수행하는 데 사용하는 표현들을 말하며, 많은 프로그램 언어가 다양한 목적을 지원하기 위하여 존재한다.

프로그래밍 개발환경

에디터: 원시 프로그램과 데이터 파일을 만들거나 고칠수 있도록 하며, 하나의 라인에 대해서 작성을 하는 라인 단위의 에디터와 모니터 스크린에서 커서를 움직이면서 작성하는 스크린 단위의 에디터가 있다.

컴파일러: 고급수준 언어로 작성된 프로그램(=원시 프로그램)을 기계어로 바꾸어주는 프로그램이다.

어셈블러: 어셈블리 언어로 된 프로그램을 기계어로 바꾸어 주는 프로그램이다. 기계어와 일대일 대응이 가능하다.

링킹: 여러 개의 기계어 프로그램을 하나의 프로그램으로 합치는 작업을 한다.

링커: 링킹을 처리하는 프로그램

실행파일(=실행 프로그램): 링킹 작업이 끝난 프로그램

프로그래밍 언어의 분류

기계어: 컴퓨터가 이해할 수 있는 유일한 언어로서 연산코드와 피연산자로 구성된다.

절차지향 언어: 문제 해결의 절차나 논리에 집중하는 언어이다.

문제지향 언어: 특정 문제를 해결하기 위한 언어

대화식 언어: 프로그래머가 대화하듯 컴퓨터와 상호작용할 수 있는 언어

객체지향 언어: 소프트웨어의 개발 및 유지보수 비용을 감소시키고, 프로그래밍을 쉽게 하기 위한 목적으로 개발되었다.

절차 지향 객체 지향
명령과 데이터가 분리되어 있다.

데이터와 명령이 하나의 객체를 이룬다.

변경이 어렵다. 변경이 용이하다.
프로그램의 구성요소가 실세계를 추상화하게 되므로 프로그램이 어렵다. 프로그램의 구성요소가 실세계와 일치하므로 프로그래밍이 자연스럽다.
새로운 프로그램은 전의 프로그램을 거의 재사용하지 못하고 새로 작성해야 한다. 새로운 프로그램은 그전의 프로그램을 재사용하고 일을 좀 더 구체화 하면 된다.

데이터 베이스

정보를 한 곳에 모아놓고 이러한 정보를 일정한 규칙에 따라 구성한 것을 말한다.

 

 

'[Programming Language] > Project' 카테고리의 다른 글

Computer Science Part4  (0) 2020.03.30
Computer Science Part3  (0) 2020.03.20
git 명령어 정리  (0) 2020.02.19
오픈소스(Open Source)란?  (0) 2020.02.13
깃(git)이란?  (0) 2020.02.08