프로그램 언어
종류
고급언어
인간이 이해하고 접근하기 쉬운 언어.
하드웨어와 관련 지식 없어도 프로그램 작성가능
고급언어로 작성된 원시프로그램은 기계어로 변역해야하는 번거로움있음
저급언어보다 작성 및 수정이 편리, 호환성 우수
저급언어
기계중심적 언어. 기계어와 1:1 대응됨. 그래서 자연어보다 수준이 낮음
컴퓨터 아키텍쳐마다 사용하는 기계어가 다름 → 기계어에 대응되어 만들어지는 어셈블리어도 각각 다름
회사별 cpu에 맞도록 코드를 작성해야함
기계어
컴퓨터가 직접 이해할 수 있는 0과1로 작성된 언어.
효율 높지만 언어자체가 복잡하여 많은 시간과 노력 필요
목적프로그램(오브젝트 프로그램)
어셈블리, 고급언어로 쓰인 프로그램을 기계어로 번역한 프로그램.
- 링커 : 모듈이 여러개인데, 이걸 하나로 묶어주는 역할을 함 → 이 동작을 링크라고 함
- 로더로 주기억장치에 로딩을 한다
시스템소프트웨어의 계층구조
어셈블러
초기엔 몇개의 명령어만 해독할수있는 단순한 형태라 프로그래머들이 이진수로 작성함
이게 너무 어렵고 복잡하고 노가다라 인간이 이해하기 쉽도록 어셈블리어 개발
링커
일반적인 프로그램은 여러개의 원시모듈로 나눠작성
원시모듈은 각각의 어셈블러에 의해 어셈블되어 목적모듈로 만들어져 보조기억장치에 저장
모듈들을 실행할때는 링커가 이것들을 연결하여 적재모듈을 만듦
로더
운영체제의 일부분으로, 컴퓨터에 프로그램을 적재하기 위한 프로그램.
목적프로그램을 주기억장치에 적재하는 역할
로더는 어셈블러에 비해 매우작고 기억장치를 조금만 차지
절대적 적재방법 , 재배치 적재방법
매크로프로세서
매크로정의 : 약어로 정의
매크로호출 :필요한 부분에서 호출
매크로확장:매크로가 발견되는 모든곳에 실제코드를 치환하여 확장
프로그램이 간단해지고 반복적인 코딩을 처리.
언어처리기 또는 전처리기(preprocessor)라고 함.
- 매크로프로세서의 기능
- 매크로정의 인식
- 매크로정의 저장
- 매크로호출의 인식
- 매크로호출 확장
- 인수치환의 기능
인터프리터
컴파일러
운영체제(Operating System)
주기억장치내에 상주하면서 컴퓨터의 효율적 운영을 담당하는 소프트웨어 인간과 컴퓨터간의 인터페이스
운영체제의 목표
- 하드웨어와 소프트웨어 자원들을 관리하고 제어
- 사용자에게 편리한 인터페이스 제공
- 수행중인 프로그램들의 효율적인 운영 제공
- 작업처리과정중에 데이터 공유
- 입출력에서 보조적인 기능 수행
- 오류가 발생하면 오류를 원활하게 처리
운영체제의 자원관리
- 프로세스 관리
- 작업관리
- 주기억 장치 관리 - 메모리 할당, 헤제
- 보조기억 장치 관리 - 디스크 스케줄링
- 입출력장치 관리
- 파일관리
- 보안관리
최근운영체제의 주요특징
- 멀티미디어 자원 관리
- 윈도우 및 그래픽 사용자 인터페이스의 일반화 → 메뉴와 클릭만으로 컴퓨터와의 편리한 상호작용
- 보안기술 강화
- 객체지향기술 → GUI, OLE에서 객체지향 기술 일부 적용
- UNIX기능 확장
- 윈도우의 대중화
- 리눅스사용의 확대 PC용 UNIX라고 할수있는 리눅스의 확대
유닉스
초기에 어셈블리어로 되었으나 C언어로 다시 작성하고 소스코드를 공개함
리눅스
요점정리
- 컴퓨터 시스템은 하드웨어와 소프트웨어로 구성
- 하드웨어는 시스템을 구성하고 데이터를 처리하는 물리적인 기기로 중앙처리장치, 기억장치, 입출력장치로 구성
- 컴퓨터 하드웨어의 기능
- 입력장치는 자료를 읽는다.
- 기억장치는 자료를 기억하며 주기억장치와 보조기억장치로 구분된다.
- 제어장치는 자료의 처리 순서를 지시한다.
- 연산장치는 자료의 처리를 수행한다.
- 출력장치는 처리된 결과를 출력한다.
- 컴퓨터 소프트웨어
- 시스템소프트웨어 : 컴퓨터를 작동시키고 컴퓨터의 활동을 조정, 통제, 관리하는 모든 종류의 프로그램
- 응용 소프트웨어 : 프로그램 중에서 특정한 업무를 해결하기 위한 목적으로 가지고 만든 프로그램
- 사용자 프로그램
- 저급언어 : 기계어와 비슷한 언어이며 프로세서에 따라서 사용법이 다르다. 기계어, 어셈블리어
- 고급언어 : 자연어와 비슷한 언어. COBOL, FORTRAN, PASSCAL, C++, BASIC, C, JAVA.
- 시스템소프트웨어의 계층구조
- 어셈블러
- 링커
- 로더
- 매크로프로세서
- 인터프리더
- 컴파일러
- 운영체제
'컴퓨터공학' 카테고리의 다른 글
[시스템프로그래밍]1-1 시스템프로그램의 목적 (4) | 2024.11.10 |
---|