컴퓨터과학

컴퓨터과학/운영체제

[운영체제] Ch.6 가상 기억 장치

기억장치 용어 1차 기억장치 -> RAM이라고 생각하면 편하다. 2차 기억장치 -> HDD, SSD => 이 부분에서 알아둘 것은 RAM은 프로세스로 존재하고, SSD, HDD등은 프로그램으로 존재한다. 1.가상 기억 장치 기본 개념 ◈가상 기억 장치(virtual memory) -사용자가 보조 기억장치에 해당하는 커다란 기억 장소를 갖고 있는 것처럼 생각하고 프로그램을 작성 가능케 해준다. -다중 프로그래밍을 기반으로 한다. ⊙ 사용자의 프로그램 + 데이터 + 스택등의 크기가 이용할 수 있는 물리적인 주기억장치를 초과할 수 있다는데 있음 -주기억장치가 부족할 경우를 가정한다/ ⊙ 프로그래머가 주기억장치의 한계를 걱정할 필요가 없게한다. -그렇다고 메모리를 마구잡이로 쓰라는 것은 아니다. 대신 램의 한계..

컴퓨터과학/자료구조

[C# 자료구조] c#의 List는 연결 리스트가 아니라 배열이다 ?

이름 때문에 착각할 수 있지만, c#의 List는 일반적인 자료구조에서 배우는 연결 리스트가 아니다. 사실상 배열에 더 가깝다. c#에서 List는 내부적으로 동적으로 크기를 조정할 수 있는 배열을 사용하며, 요소를 추가하거나 삭제할 때마다 새로운 배열을 생성하고 기존의 요소들을 복사하는 작업을 수행하지 않는다 대신, List는 내부적으로 요소를 저장하는 배열의 크기를 늘리거나 줄이는 작업을 수행한다. 위의 설명이 어렵다면 아래의 그림을 보자. 아래는 내가 그린 배열의 단점이다. 아래는 c#에서 구현된 List다. 정리하자면 c#에서 List는 사실상 배열인데 사용자에게 편하도록, 자체적으로 미리 크게 배열 크기를 할당받아서 메모리를 재할당 할 가능성을 줄인(list에 값이 계속 추가될 경우 재할당은 무..

컴퓨터과학/운영체제

ch.01 운영체제(Operating system) 개관

컴퓨터 구조를 알고있다는 가정하에 진행한다. 우선 운영체제가 존재하는 이유부터 알아보자. 운영체제란 무엇인가 ? 사전정의는 제쳐두고, 내가 이해한 대로 적어보자면 단순한 하드웨어는 아무런 기능이 없다. 만약 윈도우와 리눅스같은 운영체제를 빼고 현대의 컴퓨터 본체만 달랑 남겨준다면 할 수 있는게 거의 없을 것이다. 내가 생각하는 운영체제의 가장 중요한 목적은 하드웨어와 소프트웨어 입출력장치를를 연결해주는 인터페이스 역할이다. 1) 운영체제 정의 사용자 대신에 컴퓨터 시스템의 각종 자원을 효율적으로 관리하고 운영하게 하여 사용자에게 최대의 편리성을 제공해 주며, 컴퓨터 하드웨어와 사용자간의 인터페이스를 담당하는 시스템 프로그램 2) 운영체제의 목적 2-1) 편리성 제공 => 화면에 GUI를 제공한다던지, 작..

OfficialCaox
'컴퓨터과학' 카테고리의 글 목록