일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 함수
- 코딩테스트 연습
- 데이터 분석
- 파이썬
- 코테
- 마이데이터
- 머신러닝
- vagrant
- 백준
- 프로그래머스
- 정보보안
- 개인정보보호법
- 웹 모의해킹
- AI
- 개인정보보호
- XSS 취약점
- 시저암호
- 클라우드
- 회귀분석
- 알고리즘
- 파이썬 문법
- docker
- 웹모의해킹
- AWS
- 데이터분석
- 도커
- 컴퓨터 구조
- 코딩테스트
- 자료형
- 데이터3법
- Today
- Total
찬란하게
[데이터 보안][python] 컴퓨터 구조 , HW, SW 의미 본문
강사님께서 정말 중요한 말씀을 하셨다!
"디테일을 외우려 하지 말고, 전체적인 그림을 봐라!"
프로그래밍을 들어가기 앞서서,
가장 중요한 것은 컴퓨터 구조를 파악하고, 기억하는 것이다.
컴퓨터 구조 : H/W + S/W
- 컴퓨터는 H/W + S/W로 구성
- H/W : 반도체 소자, 전기적 신호를 받아 작동
- S/W : 명령어들과 DATA의 집합
- H/W와 S/W와 2 계층 구조는 S/W가 H/W에 지나치게 의존적이다.
따라서 H/W가 변경될 때 S/W도 달라져야 하며, 재사용성이 떨어져 비용이 증가한다.
=> 이런 문제점을 해결하기 위해 3 계층이 등장했다.
H/W + 응용S/W + 시스템S/W
시스템 S/W가 H/W와 S/W를 연결해주면서 의존성을 덜어준다.
- 응용 S/W : 유저를 위한 S/W
- 시스템 S/W : 시스템을 위한 S/W
S/W는 명령어와 DATA를 담고 있다.
명령어와 DATA를 담은 S/W는 H/W로 전달되고 전기적 신호를 받은 H/W는 작동하게 된다.
- 프로그래밍이란 : 어떤 순서대로, 어떻게 작동되는가를 나타낸 것이다.
정보 보안 관점에서 H/W를 지키는 것이 네트워크 보안 -> 방화벽과 같은 OS 보안 -> 응용 S/W 보안은 시큐리티 코딩을 말한다.
네트워크 기술이 발달하면서 DATA와 CODE의 움직임이 가능해졌다.
H/W
하드웨어에는 CPU와 주기억장치, 디스크가 있다.
S/W 정보(명령어와 데이터)는 디스크에서 바로 CPU로 갈 수 없기 때문에 주기억장치를 거쳐서 간다.
- CPU :
중앙 처리 장치, ARU 또는 제어 연산만 가능, 1 수행
- 주기억 장치 :
DATA + 명령어들
RAM -> 휘발성
MAIN 함수, 즉 시작 포인트를 CPU에게 알려준다.
CPU
CPU의 제어 연산의 경우 제어장치를 거친다.
CPU는 저장능력이 없다.
따라서, 연산 후에는 꼭 주기억장치에 저장을 해야 한다.
S/W : 명령어 + code
SDK
- SDK : Software Development Kit : 소프트웨어 개발 키트 : 번역과, 로드와 같은 역할을 해준다.
- 파이썬 : 명령어를 전달하는 도구
프로그래밍 과정
- 프로그램 작성 과정
1) 데이터를 준비
2) 준비된 데이터로 명령어를 작성
3+10을 출력하는 프로그램을 작성한다면,
1) 3을 주기억장치에 적재 -> X는 주기억장치 위치정보
2) 10을 주기억장치에 적재 -> Y는 주기억장치 위치정보
3) X+Y를 한 후에 주기억장치에 기억시켜라 -> R = X+Y
4) print(R)
CPU는 주기억장치와만 연락을 주고받는다.
IDE
- IDE : Integrated Development Environment : 통합 개발 환경 : SDK에 얹는다
OS
- OS :
메모리 관리 -> 시스템 관리 -> 시스템 S/W
주소와 변수를 맵핑하는 방식
메모리 관리
- 효율적인 메모리 관리
메모리를 쓰고 나가면서 메모리를 삭제한다면 비용이 너무 많이 들게 된다.
메모리를 쓸 다음 사람이 값을 덮어써버린다면, 비용을 절감할 수 있게 된다.
덮어쓰는 개념이 초기화다.
- 할당 : 전에 쓴 사람의 값이 남아있음 (주소만 할당)
- 초기화 : 후자가 원하는 DATA로 할당
'AI (인공지능) > 파이썬 프로그래밍' 카테고리의 다른 글
[데이터][python] 함수, 클래스, 패키지 (0) | 2021.03.24 |
---|---|
[데이터보안][python] 함수, 객체지향, 클래스 (0) | 2021.03.22 |
[데이터보안][python]자료형-딕셔너리, set, 모듈화, 함수 (0) | 2021.03.22 |
[데이터 보안][python]실행환경/자료형/문자열, 리스트, 딕셔너리 (0) | 2021.03.21 |
[데이터 보안][python]프로그래밍 언어/sw공학 (0) | 2021.03.21 |