IT Basic43 [OS] 4장 프로그램의 구조와 실행 4장, 프로그램의 구조와 실행 프로그램의 주소 영역 코드(code) : 프로그램 코드가 기계어 명령(machine instruction) 형태로 변환되어 저장되는 부분 데이터(data) : 프로그램이 사용하는 데이터를 저장하는 부분 스택(stack) : 함수의 수행을 마치고 복귀하는 주소 및 데이터를 임시로 저장하기 위해 사용되는 부분 일반적으로 프로그램에서 발생되는 함수호출에 필요한 복귀주소는 각 프로그램의 주소공간-스택영역에 보관하고, 인터럽트로 CPU를 빼앗긴 위치는 프로세스제어블록(PCB)에 저장된다. CPU는 빠른 속도의 계산 능력은 가지고 있지만, 어떤 작업을 수행할지 결정하는 능력은 없다. 때문에 CPU가 다음으로 수행해야하는 메모리 주소를 담고 있는 레지스터-프로그램 카운터(Program .. 2021. 12. 22. 캐시 메모리(Cache Memory) 캐시 메모리 ? 실제 메모리와 CPU 사이에서 빠른 전달을 위해 미리 데이터를 저장해두는 좀 더 빠른 메모리 CPU와 메인 메모리 사이에 존재한다고 말할 수 있는데, CPU내에 존재할 수도, 때에 따라서는 CPU 밖에 존재할 수도 있다. CPU와 메인 메모리 사이에 속도의 차이를 극복하는 중간 버퍼 역할을 한다. 캐싱 기법 ? 상대적으로 용량이 적은 빠른 저장장치를 이용해 느린 저장장치의 성능을 향상하는 총체적 기법 빠른 저장장치에 빈번히 사용될 데이터를 저장하면, 전체적인 성능이 향상된다. 캐시의 동작 원리 CPU가 필요한 데이터를 메인메모리에서 찾기 전에, 캐시에서 먼저 찾는다. 캐시의 성능은, CPU가 찾으려는 내용이 캐시에 많이 저장되어 있을 수록 높다. (캐시의 히트율) 공간적 지역성(spati.. 2021. 12. 15. [OS] 3장 컴퓨터 시스템의 동작 원리 3장, 컴퓨터 시스템의 동작 원리 컴퓨터는 외부장치에서 내부장치로 데이터를 읽어와 각종 연산을 수행한 후, → 입력(input) 그 결과를 외부장치로 다시 내보내는 방식으로 업무를 처리한다 → 출력(output) 각 하드웨어 장치에는 컨트롤러가 존재한다. 컨트롤러는 일종의 작은 CPU로서, 각 하드웨어 장치를 제어한다. 장치 컨트롤러는, 장치로부터 들어오고 나가는 데이터를 임시로 저장하기 위한 작은 메모리-로컬 버퍼(local buffer)-를 가지고 있다. 컨트롤러는 인터럽트를 발생시켜 CPU에 데이터가 들어왔음을 보고한다. CPU는 매 시점 메모리에서 명령(instruction)을 하나씩 읽어와서 수행하는데, 이때 CPU 옆에 인터럽트 라인(interrupt line)이 있어서 신호가 들어오면 하던 .. 2021. 12. 15. [OS] 2장 운영체제 개요 2장, 운영체제 개요 운영체제(Operating System) 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 컴퓨터에 운영체제가 없다면, 컴퓨터는 고철덩어리에 불과하다. 고철 덩어리를 동작시키기 위해서 필요한 기본적인 소프트웨어가 바로 운영체제다. 사용자가 하드웨어를 다루는 것이 어려우므로, 사용자 입장에서 손쉽게 사용할 수 있도록 기본적으로 운영체제를 탑재한다. 커널(kernel) 운영체제 코드 중에서도 핵심적인 부분 좁은 의미의 운영체제 규모가 큰 운영체제를 모두 메모리에 올려놓고 사용할 수는 없다. 항상 필요한 부분을 메모리에 올려두고 그 외에는 필요한 순간에만 메모리에 올려서 사용한다. 이때 항상 메모리에 상주하는 부분을 커널(ke.. 2021. 12. 15. [네트워크] TCP 헤더에 담긴 내용 알아보기 TCP 헤더 1. 출발지 포트번호(Source Port Number) 출발지 주소를 판별하기 위해서, IP주소와 포트번호가 필요하다. TCP 헤더에는 포트 번호가 담겨있다 2. 목적지 포트번호(Destination Port Number) 목적지 주소를 판별하기 위해서, IP주소와 포트번호가 필요하다. TCP 헤더에는 포트 번호가 담겨있다 3. 일련 번호(Sequence Number) 전송하는 데이터의 순서, 32비트를 할당받기 때문에, 시퀀스 번호가 중복되기는 어렵다 최대값(4,294,967,296)을 넘어가면 0부터 재시작한다 4. 확인 응답 번호(Acknowledgment Number) 데이터 수신자가 예상하는 다음 시퀀스 번호를 의미한다. 상대방이 보낸 시퀀스 번호 + 자신이 받은 데이터의 byte.. 2021. 12. 9. 모두의 네트워크 - 8장 네트워크의 전체 흐름 살펴보기 제 8장, 네트워크의 전체 흐름 살펴보기 - 웹사이트를 방문했을 때 이뤄지는 전체적인 데이터 처리 과정 각 계층별 처리 내용 ◆ 정적 라우팅과 동적 라우팅 라우팅 ? 패킷을 목적지 컴퓨터까지 보낼 때 최적의 경로를 선택하여 전송하는 것 정적 라우팅 관리자가 미리 라우팅 테이블에 경로를 수동으로 추가하는 방법 경로를 고정하거나, 경로가 하나로 한정되는 경우에 사용 소규모 네트워크에 적합 장점 : 대역폭에 대한 부담이 적다, 보안 유지에 좋다 단점 : 어떤 경로에 장애가 발생해도 다른 경로로 우회할 수 없다 동적 라우팅 네트워크 변경을 자동으로 감지하여 라우팅 테이블을 업데이트하거나, 네트워크 장애 발생 시 라우터끼리 정보를 교환하여 최적의 경로로 전환하는 것 경로를 수동으로 추가할 필요가 없다 대규모 네트.. 2021. 12. 9. 이전 1 ··· 3 4 5 6 7 8 다음 반응형