본문 바로가기

CS45

[OS] 04. 프로그램의 구조와 실행 1. 프로그램의 구조와 인터럽트 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역이 메모리에 올라가 있어야 한다. 프로그램의 주소 영역은 크게 코드(code), 데이터(data), 스택(stack)영역으로 구분된다. 코드 : 프로그램 함수들의 코드가 기계어 명령 형태로 변환되어 저장되는 부분 데이터 : 전역 변수등 프로그램이 사용하는 데이터는 저장하는 부분 스택 : 함수가 호출될 때 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터를 임시로 저장하는 부분 인터럽트의 동작 원리는 함수의 호출과 비슷하다. A 프로그램이 CPU를 할당받아 명령을 수행중일 때 인터럽트가 발생할 경우 A는 현재 수행 중인 명령의 위치를 저장해놓는다. 그 후 인터럽트 처리루틴으로 넘어가 인터럽트를 처.. 2021. 12. 20.
[OS] 03. 컴퓨터 시스템의 동작 원리 1. 컴퓨터 시스템의 구조 컴퓨터는 내부장치인 CPU, 메모리와 외부장치인 디스크, 키보드, 마우스, 모니터 등으로 구성된다. 컴퓨터는 외부장치에서 내부장치로 데이터를 읽어와 각종 연산을 수행한 후, 그 결과를 외부장치로 다시 내보내는 방식으로 업무를 처리한다. 컴퓨터 내부로 데이터가 들어오는 것을 입력(input), 외부장치로 데이터가 나가는 것을 출력(output)이라고 한다. 메모리 및 입출력장치 등의 각 하드웨어 장치에는 이들을 제어하는 작은 CPU인 컨트롤러라는 것이 존재한다. 운영체제는 각종 자원들을 관리해야 하므로 컴퓨터의 전원이 켜진 순간부터 항상 메모리에 올라가 있다. 하지만, 전체가 올라가지 않고 운영체제 중 핵심적인 부분만 항상 메모리에 올라가 있으며 이 부분을 커널(kernel)이라.. 2021. 12. 14.
[OS] 02. 운영체제 개요 1. 운영체제의 정의 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어 운영체제는 컴퓨터의 전원이 켜짐과 동시에 실행되며 동시에 메모리에 올라간다. 항상 필요한 부분만을 전원이 켜짐과 동시에 메모리에 올려놓고 그렇지 않은 부분은 필요할 때 메모리로 올려서 사용한다. 이때 메모리에 상주하는 운영체제의 부분을 커널(kernel)이라고 부르며 이를 좁은 의미의 운영체제라고도 부른다. 2. 운영체제의 기능 1. 컴퓨터 시트템 내의 자원(resource)을 효율적으로 관리하는 것 - 하드웨어를 위한 역할 2. 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공하는 것 - 사용자를 위한 역할 편리한 환경 제공이란 운영체제가 여러 사용자 및 프로그램들에게 각각 독자적으로 컴퓨터를 사용하는 것과 같은 '환상'을 제공하.. 2021. 12. 13.
[Network] DNS란? 도메인 네임 시스템(Domain Name System, DNS) DNS는 인터넷 전화번호부와 같다. 사람은 naver.com이나 google.com과 같은 도메인 이름을 통해서 인터넷에 접속한다. DNS는 브라우저가 인터넷 자원을 로드할 수 있도록 해당 도메인 이름을 IP 주소(192.168.1.0과 같은)로 변환한다. 사람은 숫자와 영문으로 이루어진 복잡한 IP 주소를 기억하지 않고 기억하기 쉬운 도메인 이름을 통해서 서버에 접속한다. DNS는 이러한 도메인 이름을 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템이다. DNS 용어 재귀적 질의(Recursive Query) - 사용자 호스트가 Recursive 네임서버로 질의할 때 사용되는 방식으로 Recursive 네임서버로 대.. 2021. 12. 9.
[Network] 08. 네트워크의 전체 흐름 살펴보기 랜 카드에서의 데이터 전달과 처리 웹 사이트에 방문했을 때 이루어지는 전체적인 데이터 처리 과정에 대해 알아보자. 네트워크의 구성 OSI 모델 상위 응용 계층부터 하위 물리 계층까지까지 각각 어떤 일이 나는지 살펴보자. 응용 계층(세션 계층과 표현 계층을 포함) -> 애플리케이션 등에서 사용하는 데이터를 송수신하는 데 필요하다 전송 계층 -> 목적지에 데이터를 정확하게 전달하는 데 필요하다 네트워크 계층 -> 다른 네트워크에 있는 목적지에 데이터를 전달하는 데 필요하다 데이터 링크 계층 -> 랜에서 데이터를 송수신하는 데 필요하다 물리 계층 -> 데이터를 전기 신호로 변환하는 데 필요하다 컴퓨터의 데이터가 전기 신호로 변환되는 과정 위의 구성으로 이루어진 네트워크에서 컴퓨터의 웹 브라우저에서 URL을 입.. 2021. 12. 8.
[Network] 07. 응용 계층 : 애플리케이션에 데이터 전송하기 응용 계층의 역할 OSI 모델의 응용 계층의 역할에 대해서 알아보자. 응용 계층의 역할 애플리케이션은 서비스를 요청하는 측인 클라이언트와 서비스를 제공하는 측인 서버로 나누어 생각할 수 있다. 웹 브라우저나 메일 프로그램은 클라이언트에 해당하고, 웹 서버 프로그램이나 메일 서버 프로그램은 서버에 해당한다. 이러한 애플리케이션은 응용 계층에서 동작한다(해당 글에서 응용 계층은 5계층인 세션 계층과 6계층인 표현 계층을 포함하는 것으로 생각한다). 응용 계층에서는 사용자 측(클라이언트)의 요청을 전달하기 위해 통신 대상(서버 등)이 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달하는 역할을 한다. 클라이언트 측 애플리케이션이 서버 측 애플리케이션과 통신하려면 응용 계층의 프로토콜을 사용해야 한.. 2021. 12. 6.