카테고리

asm (27) bootloader_x86_grub (1) C (92) compile (11) config (76) CPP (13) CSS (1) debugging (7) gimp (1) Go (1) html (1) Java (1) JavaScript (1) kernel (19) LibreOffice (3) Linux system progamming (21) MFC (1) opencv (4) OpenGL (1) PHP (1) Python (4) qemu (29) shell (3) socket (7) troubleshooting (2) ubuntu18.04 (2) windows (1)

2018/12/13

컴퓨터 현재 까지의 역사.

시스템 프로그램의 역할 및 개발자 영역 소프트웨어/하드웨어

1. 부품 개발자(기초 과학이 없으므로 부품 조합 개발)
1.1 프로그램 영역
    • assembly, c, c + +, 자바, PHP, Python
    • 프로그래밍 언어(c + +, 자바, PHP, Python 현업에 맞게 상용됨)
    • 시스템 프로그래밍(asm, c)

1.2 운영체제 이식(포팅) 영역
    • 데이터 구조(컴퓨터 지원하는 언어로 무엇을 표현할 것인가.)
    • 운영 체제(커널 포팅, 디바이스 드라이버 포팅)

1.3 디지털 하드웨어 영역
    • 디지털 하드웨어
    • 마이크로프로세서
    • 컴퓨터 아키텍처

1.4 RF 하드웨어 영역
    • SMPS(파워 서플라이)
    • 무선통신.

1.5 알고리즘
물리엔진, 3D 엔진, 2D엔진, 등

2. 컴퓨터 시스템
2.1 응용 프로그램
    • 킬러 프로그램: 크롬, 파워 포인트, 워드
    • 서비스 응용 프로그램: 카카오톡, 게임, 네비게이션

3 운영 체제
    • 윈도우, 맥 OS X, 리눅스, 안드로이드, 실시간 운영체제

4 컴퓨터 하드웨어
    • X86: CPU, 램, VGA, HDD 등
    • ARM: ARM, 램, VGA, NOR Flash, NAND Flash

5. 임베디드 시스템
    • 사용자 응용 프로그램

5.1 임베디드 운영 체제
    • 리눅스, ucos, vxworks,RTOS

5.2 임베디드 하드웨어
    • 프로세서, I/O, 메모리 등

6 사용자 공간
6.1 응용 프로그램
    • 사용자 응용 프로그램
    • 라이브러리

6.2 운영 체제
    • 라이브러리
    • 시스템 호출 인터페이스
    • 커널
    a. 파일 시스템
    b. 프로세스 간 통신
    c. 프로세스 관리
    d. 아키텍처 의존성 커널

6.3 컴퓨터 하드웨어
    • 입력: 키보드, 마우스, 터치, 음성, 생체(지문, 홍체, DNA RNA)
     
    • 계산: CPU
    • 저장소: HDD, RAM
     
    • 출력: 모니터, 프린터, 스피커, 빔 프로젝터

7. 마이크로프로세서의 역사
    • 마이크로프로세서는 1971에서 인텔에 처음 도입.
    • 인텔 8085에는 내부 메모리가 있다.
    • 4 비트 마이크로프로세서 (인텔 4004)-> 8 비트 마이크로프로세서 (인텔 8080)-> 32 비트 마이크로프로세서 (인텔 80386 이상)-> 64 비트 마이크로프로세서 (인텔 펜티엄)
    • 메모리 공간 4KB (인텔 4004)-> 64kb인텔 8085)-> 1MB(인텔 8086) -> 16MB(인텔 80286)-> 4GB(인텔 80386) -> 64gb(인텔 펜티엄).
    • 캐시 메모리는 인텔 80486 도입.
    • 멀티 스레딩이 가능한 듀얼 코어 프로세서
    • 서버를 위한 멀티 코어 또는 멀티 프로세서

8. 주요 운영 체제
    • 윈도우
    • Mas 운영 체제
    • 리눅스
    • 유닉스
    • 임베디드 OS의 (안드로이드, 아이폰 os)
    • 실시간 OS의

9. 운영 체제의 역사
9.1 운영 체제의 간략 한 역사
-메인프레임: 1950 년대부터
    • 초기 컴퓨터에 OS 없음.
    • 모든 컴퓨터에는 자체 os (독점 os)가 개발 판매.
    • 단일 스트림 일괄 처리
    • VMX
    • 유닉스 초기 (유닉스는 AT&T 벨 연구소에서 발명)
    • 많은 사용자가 공유 가능 한 운영체제.(멀티 사용자 OS 필요)

-초기 개인용 컴퓨터: 1970 년대 후반
    • pc: 알타리, TRS 80, 코모도 64, 애플 2
    • 각 컴퓨터에는 전용 os가 있거나 os가 없는 시대.
    • CP/M(마이크로 컴퓨터 제어 프로그램)

-PC 및 mac: 1980 년대 초반
    • 마이크로프로세서 덕분에 개인용 컴퓨터가 인기 상승.
    • IBM이 OS에 대해 MS 요청 함.
    • MS는 시애틀 컴퓨터 제품에서 86-DOS를 샀다
    • MS는 DOS (디스크 운영 체제)를 개발
    • DOS는 커맨드 라인 OS 이며 CP/M과 역방향 호환이 가능 합니다.

-gui (그래픽 사용자 인터페이스): 1980 년대
    • Xerox 파크 리서치 센터 최초 개발
    • 제록스 8010, 사과 리사, 애플 매킨토시
    • 마이크로 소프트 윈도우 시리즈, X 창 등

-1990 년대 이후
    • 마이크로프로세서의 강력한 활용
    • 멀티 프로세싱 및 멀티-쓰레드

-운영 체제의 종류
    • 간단한 배치 시스템
    • 멀티 프로그래밍 배치 시스템 (시간 공유 시스템)
    • 멀티 프로세서 시스템
    • 분산 운영 체제
    • 실시간 운영 체제

10. 리눅스
-유닉스 계열 운영 체제
    • 리눅스는 유닉스의 무료 소스 코드 버전을 기반
    • 소스는 인텔 CPU 기계 코드로 컴파일 되어 배포 됨.
    • PC 하드웨어에 유닉스 기반 코드를 실행할 수 있다
    • 내부 SW 아키텍처는 1960 년경 (단일 사용자 컴퓨터를 위한 다중 사용자 OS)
    • 다양 한 하드웨어 플랫폼에서 실행

-배포
    • 데비안 (라즈베리, 우분투 등): 비 상업적
    • 페도라 (레드햇 등): 상업용
    • 다양 한 다른 배포판 (오픈수세, 안드로이드 등)

11. C 프로그램 개발 환경
-c + + (또는 c) 프로그램의 단계
    • 코드 편집기
    • 전처리
    • 컴파일
    • 링크
    • 로드
    • 실행

    a. 편집기
    •  디스크: 프로그램 코드 편집기를 통해 디스크에 저장 한다.

    b. 전처리기
    •  디스크: Preporcessor 프로그램에서 코드를 처리 한다.

    c. 컴파일러
    •  디스크: 컴파일러는 객체 코드를 만들고 디스크에 저장 한다.

    d. 링커
    •  디스크: 링커는 객체 코드를 라이브러리와 연결 한다.

    e. 로더
    •  디스크 > 프라임 메모리: 로더는 프로그램을 메모리에 넣는다.

    f. Cpu
    • 기본 메모리: CPU는 각 명령을 가져와 실행 하며, progrma 실행 될 때 새 데이터 값을 저장 한다.

댓글 없음:

댓글 쓰기