시스템 프로그램의 역할 및 개발자 영역 소프트웨어/하드웨어
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 실행 될 때 새 데이터 값을 저장 한다.
댓글 없음:
댓글 쓰기