컴퓨터의 기초-시스템 S / W
아시다시피 시스템 소프트웨어는 기본 하드웨어 시스템의 인터페이스 역할을합니다. 여기서는 몇 가지 중요한 시스템 소프트웨어에 대해 자세히 설명합니다.
운영 체제
Operating system (OS)컴퓨터의 생명선입니다. CPU, 모니터, 키보드 및 마우스와 같은 모든 기본 장치를 연결합니다. 전원 공급 장치를 연결하고 모든 것이 제자리에 있다고 생각하여 스위치를 켭니다. 그러나 OS가 설치되어 있지 않으면 컴퓨터가 시작되거나 작동하지 않습니다.
- 모든 하드웨어 부품을 사용자 지침을 따를 준비 상태로 유지합니다.
- 서로 다른 장치 간의 좌표
- 우선 순위에 따라 여러 작업을 예약합니다.
- 각 작업에 자원 할당
- 컴퓨터가 네트워크에 액세스 할 수 있습니다.
- 사용자가 애플리케이션 소프트웨어에 액세스하고 사용할 수 있습니다.
초기 부팅 외에도 다음은 운영 체제의 일부 기능입니다.
- 하드웨어, 소프트웨어, 공유 리소스 등과 같은 컴퓨터 리소스 관리
- 자원 할당
- 소프트웨어 사용 중 오류 방지
- 부적절한 컴퓨터 사용 통제
가장 초기 운영 체제 중 하나는 MS-DOS,IBM PC 용으로 Microsoft에서 개발했습니다. 그것은Command Line Interface (CLI)PC 시장에 혁명을 일으킨 OS. DOS는 인터페이스 때문에 사용하기 어려웠습니다. 사용자는 작업을 수행하기위한 지침을 기억해야했습니다. 컴퓨터를보다 쉽게 액세스하고 사용자 친화적으로 만들기 위해 Microsoft는Graphical User Interface (GUI) 기반 OS 호출 Windows, 사람들이 컴퓨터를 사용하는 방식을 변화 시켰습니다.
어셈블러
어셈블러는 어셈블리 수준 프로그램을 기계 수준 코드로 변환하는 시스템 소프트웨어입니다.
다음은 어셈블리 수준 프로그래밍이 제공하는 이점입니다.
- 니모닉을 기억하는 것이 더 쉬워 지므로 프로그래머의 효율성이 증가합니다.
- 오류 수가 감소하여 디버깅 시간이 단축됨에 따라 생산성이 증가합니다.
- 프로그래머는 하드웨어 리소스에 액세스 할 수 있으므로 특정 컴퓨터에 맞춤화 된 프로그램을 작성할 수있는 유연성이 있습니다.
통역사
어셈블리 수준 언어의 가장 큰 장점은 메모리 사용과 하드웨어 사용을 최적화하는 능력이었습니다. 그러나 기술 발전으로 컴퓨터는 더 많은 메모리와 더 나은 하드웨어 구성 요소를 갖게되었습니다. 따라서 프로그램 작성의 용이성은 메모리 및 기타 하드웨어 리소스를 최적화하는 것보다 더 중요해졌습니다.
또한 훈련 된 소수의 과학자와 컴퓨터 프로그래머로부터 프로그래밍을 가져 와서 더 많은 분야에서 컴퓨터를 사용할 수 있도록해야한다고 느꼈습니다. 이로 인해 영어와 명령이 유사하여 이해하기 쉬운 고급 언어가 개발되었습니다.
높은 수준의 언어 소스 코드를 기계 수준의 언어 개체 코드로 한 줄씩 번역하는 데 사용되는 시스템 소프트웨어를 interpreter. 인터프리터는 코드의 각 줄을 기계어 코드로 변환하여 객체 파일에 저장합니다.
그만큼 advantage인터프리터를 사용하면 쓰기가 매우 쉽고 큰 메모리 공간이 필요하지 않습니다. 그러나 인터프리터 사용에는 큰 단점이 있습니다. 즉, 인터프리터 프로그램을 실행하는 데 시간이 오래 걸립니다. 이것을 극복하기 위해disadvantage, 특히 대규모 프로그램의 경우 compilers 개발되었습니다.
컴파일러
전체 프로그램을 저장하고 스캔하고 전체 프로그램을 개체 코드로 변환 한 다음 실행 가능한 코드를 만드는 시스템 소프트웨어를 컴파일러라고합니다. 겉으로보기에 컴파일러는 인터프리터와 불리하게 비교합니다.
- 통역사보다 더 복잡합니다
- 더 많은 메모리 공간이 필요합니다
- 소스 코드 컴파일에 더 많은 시간이 소요됩니다.
그러나 컴파일 된 프로그램은 컴퓨터에서 매우 빠르게 실행됩니다. 다음 이미지는 소스 코드가 실행 가능한 코드로 변환되는 방법에 대한 단계별 프로세스를 보여줍니다.
다음은 소스 코드를 실행 가능한 코드로 컴파일하는 단계입니다.
Pre-processing −이 단계에서는 일반적으로 C 및 C ++와 같은 언어에서 사용되는 전 처리기 명령어가 해석됩니다. 즉, 어셈블리 수준 언어로 변환됩니다.
Lexical analysis − 여기에서 모든 명령어는 lexical units 상수, 변수, 산술 기호 등
Parsing − 여기에서 모든 지침이 준수하는지 확인합니다. grammar rules언어의. 오류가있는 경우 계속 진행하기 전에 컴파일러에서 오류를 수정하도록 요청합니다.
Compiling −이 단계에서 소스 코드는 object code.
Linking− 외부 파일 또는 라이브러리에 대한 링크가있는 경우 해당 실행 파일의 주소가 프로그램에 추가됩니다. 또한 실제 실행을 위해 코드를 재정렬해야 할 경우 재정렬됩니다. 최종 출력은executable code 실행할 준비가되었습니다.