Programming/Computer (6) 썸네일형 리스트형 프로그램 실행 논리구조 - 문제를 해결하기 위해 컴퓨터 프로그램으로 표현하는 논리 구조 - 프로그램의 모든 로직은 순차, 선택, 반복의 3개 구조로 표현된다. 순차구조 조건문이나 반복문을 만나지 않는 경우 한 줄씩 실행한다. 선택구조 - 특정한 상태에서 조건을 만족하는 경우와 그렇지 않은 경우에 다른 문장을 실행한다. - 조건문(if문) : 조건에 따라 둘 또는 그 이상의 실행 경로 중에서 하나를 선택할 수 있는 수단을 제공한다. - 조건문(switch문) : 조건의 값에 따라 n개의 실행 경로 중에서 하나를 선택 반복구조 특정 조건을 만족하는 동안 해당 문장을 반복해서 실행한다. for문 - 초기식을 계산하고, 조건식이 참이면 문장을 실행 - 변환식을 계산한 후 다시 조건식을 검사 - 조건식이 거짓이면 문장을 실행하지 않고 .. 프로세스 개념 프로세스 정의 : "실행 중인 프로그램 - 프로그램이란 자신이 스스로 무엇을 할 수 없는 수동적인 상태이다. - 프로세스는 프로그램이 메모리에 적재, 실행 가능한 상태임을 전제하는 능동개념 CPU 스케쥴링 - 다중 프로그래밍 환경에서 복수의 프로세스가 동작할 때, 어떤 프로세스가 언제 cpu 프로세서를 점유하고 동작할 것인가? 프로세스 메모리 관리 - 한정된 메모리 공간을 여러개의 프로세스가 공유하여 사용하는 경우에 메모리를 어떻게 관리하고 할당할 것인가? 프로세스 통신 - 서로 다른 프로세스들간의 정보 교환을 어떻게 할 것인가? 프로세스 동기화 - 동시에 같은 데이터 접근하거나 변경할 때 데이터 오류를 어떻게 방지할 것인가? - 프로세스는 실행되면서 생성, 실행, 대기, 준비 그리고 종료 상태를 갖는다. 컴퓨터시스템의 동작 프로세서 처리성능의 향상 - 클럭 속도 향상 -> 절대적 CPU 성능 향상 - 데이터 처리 단위 증가 - 캐쉬 도입 - CPU 코어 개수 증가, cpu 개수 자체 증가 - 한 번에 여러개 명령 실행 구조 (예 : Superscalar computer) - 하나의 명령으로 대량의 데이터 처리 - 별도의 하드웨어 도움(GPU 등) 컴퓨터 시스템의 구성 - 버스 : 프로세서와 메모리 그리고 입출력 장치들의 데이터가 이동하는 통로 캐시 - 레지스터는 일반적으로 CPU클럭으로 1사이클 이내에 접근이 가능하지만, 메인 메모리는 많은 사이클이 소요된다. - 메모리와 CPU의 속도 차이를 해결하기 위해서 메인메모리와 CPU사이에 고속의 메모리를 추가한 것이다. - CPU가 메인 메모리에 접근 전, 캐시에 해당 데이터 유무를 확인하고 캐시에 따라 메인 메모리에 접근한다. - CPU 성능이 향상되어도 캐시가 없었다면 메모리 접근 속도에 따라 성능 저하 인터럽트 - CPU가 직접 주변 장치 상태 파악없이, 입출력 요구 있을 때만 CPU가 관여 - 주변 장치에서 데이터 전송을 위한 준비가 되면 cpu에 인터럽트를 전달. - 처리해야할 때만 인터럽트 발생 : 시간낭비 적.. 오버로딩 오버라이드 차이 오버로딩(Overloading)은 생성자에서 이름은 같지만, 시그니처(타입, 파라미터수)에 대해 다른 메소드를 중복으로 선언하는 것을 의미 프로그램 가독성을 증가 오버라이딩(Overriding)은 부모 클래스의 메소드의 동작 방법을 변경(재정의)하여 우선적으로 사용. 파라미터수와 데이터타입, 메소드명이 같은 덮어쓰기 개념으로 볼 수 있다. 하나의 코드로 여러 객체를 처리할 수 있기 때문에 좋음. 컴퓨터 시스템 개요 하드웨어를 알아야 소프트웨어를 더 잘 다룰 수 있다. 응용소프트웨어 -> 일반인 시스템 소프트웨어, 하드웨어 -> 개발자 중앙처리장치 cpu 프로세서 프로그램 실행과 데이터 처리라는 중추적인 기능의 수행을 담당하는 요소 기억장치 memory 주기억 장치main memory - cpu 가까이 위치해서 반도체 기억장치 칩들로 구성 - 고속 액세스 -가격이 높고 면적이 많이 차지 되고 저장 용량의 한계 - 영구 저장 능력이 없기 떄문에 일시적 저장장치로만 사용 보조저장장치 auxiliary storage device - 2차 기억 장치 - 저장 밀도가 높고 비트 당 가격이 낮음 - 읽기 쓰기 속도가 느림 - 영구 저장 능력을 가진 저장장치 하드디스크, 플래시 메모리 등 입출력장치 I/O device 사용자와 .. 이전 1 다음