본문 바로가기

CS BASIC

(56)
[운영체제] 가상 기억장치의 구성과 관리 – 페이지 교체 기법 개요(Overview) https://1-hee.tistory.com/144 [운영체제] 가상 기억장치의 구성과 관리 - 페이징과 세그먼테이션개요(Overview) 오늘은 가상 기억장치의 구성과 관리에 대해 알아보도록 하겠습니다.지난 포스팅에서는 컴퓨터의 기억장치 즉, 우리가 통상적으로 메모리(Memory)라고 부르는 하드웨어 장치의 관리1-hee.tistory.com 오늘은 지난 포스팅에 이어 가상 기억 장치의 페이지 교체 기법과 그 전략에 대해 알아보도록 하겠습니다.   1.6. 페이지 교체 기법 가상기억 장치의 운영, 특히 페이징 기법에 있어서 실 기억장치에 적재되어 있는 모든 페이지 프레임들은 프로세스에 의해 과거에 참조되었거나, 현재 참조되고 있거나, 또는 앞으로 참조될 페이지들 입니다. 이때,..
[운영체제] 가상 기억장치의 구성과 관리 - 페이징과 세그먼테이션 개요(Overview) 오늘은 가상 기억장치의 구성과 관리에 대해 알아보도록 하겠습니다.지난 포스팅에서는 컴퓨터의 기억장치 즉, 우리가 통상적으로 메모리(Memory)라고 부르는 하드웨어 장치의 관리 방법에 대해서 알아보았습니다. 하지만, 초기 기억장치를 관리하기 위해 제안된 다양한 방법론은 현재의 기준으로는 다소 비효율적이고 근본적인 문제를 품고 있었는데요.특히, 기억장치의 단편화(fragmentation)에 대한 문제가 다양한 관리 방법론들의 큰 난제였습니다. 또한, 기억장치(Memory)의 실제 물리적인 주소를 기준으로 관리하는 방법은그 방법을 설계하고 설명하기 쉬우며 가장 직관적이라는 장점이 있지만,비싼 기억장치를 효율적으로 활용해야 한다는 목적을 달성하는데 다소 제약이 많았습니다. 그렇기에 본 ..
[운영체제] 기억장치 (記憶裝置, Memory , Computer Data Storage) 개요(Overview) 오늘은 기억장치에 대해 알아보도록 하겠습니다.기억장치는 컴퓨터 시스템에서 매우 중요한 자원 중 하나입니다.우리가 흔히 메모리(Memory)라고 부르는 하드웨어 장치를 주로 기억 장치라고 정의하는데요. 컴퓨터 시스템에서 모든 프로그램은 각각의 고유한 작업을 수행하기 위해 기억장치, 즉 메모리에 적재되어야 하는 과정을 필요로 합니다. 그러나, 메모리(Memory)라고 하는 장치는 컴퓨터 시스템에서 무한한 자원이 아니기 때문에 각각의 컴퓨터 시스템 및 프로그램의 종류에 따른 적절한 관리가 필요합니다. 따라서, 본 포스팅에서는 기억장치, 특히 주 기억장치의 효율적인 사용을 위한 관리 기법에 대하여 알아보도록 하겠습니다.기억장치의 종류종류기억 장치 자기 디스크 전축, 플로피 디스크, 하드 ..
[네트워크] OSI 7계층과 TCP/IP 모델 개요 오늘은 OSI 7계층과 함께 TCP/IP 모델에 대해서 알아보도록 하겠습니다. OSI 7 계층은 컴퓨터 간의 정보를 주고 받는 작업을 위해 설계된 대규모 '통신용' 소프트웨어의 아키텍처입니다. 따라서, 이러한 거대한 규모의 프로그램의 '구조'를 설명하는 것이 OSI 7 계층이며, 이는 곧 소프트웨어 디자인인 Layered 디자인의 한 종류라고 할 수 있습니다. 오늘은 이중에서도 현재 범용적으로 사용중인 TCP/IP 모델에 대해서 알아보도록 하겠습니다. 물리 계층, Physical layer컴퓨터는 기본적으로 0과 1로 이루어진 데이터를 바탕으로 데이터를 생성하거나 해석합니다. 이때 약간의 물리학 지식을 더하자면,  컴퓨터에게 데이터를 보내기 위해서는 과거에는 구리선 오늘은 광케이블을 통해서  멀리 ..
[CS BASIC] 웹 서버(Web Server), 웹 애플리케이션 서버(WAS, Web Application Server), 웹 애플리케이션(Web Application) 개요 오늘은 웹 서버(Web Server), 웹 애플리케이션 서버(WAS, Web Application Server) 그리고 웹 애플리케이션(Web Application)에 대해서 알아보도록 하겠습니다.  오늘의 포스팅은 아래와 같은 내용으로 구성됩니다.웹 서버 (Web Server)란? 웹 애플리케이션 서버(WAS, Web Application Server)란? 웹 애플리케이션(Web Application)웹 서버 (Web Server)란? 웹 서버란 월드 와이드 웹(WWW)에서 HTTP 프로토콜에 맞추어 고유한 URI 또는 URL을 통해 HTML이라는 마크업 문서를 볼 수 있도록 하는 서버입니다. 전 세계에 있는 각 컴퓨터는 공유기 또는 자체 네트워크 설정을 통하여 IP주소 + 포트 번호의 조합으로 ..
[네트워크] 통신 시스템 일반 개요오늘은 컴퓨터 네트워크의 통신 시스템에 대해서 알아보도록 하겠습니다. 통신 시스템컴퓨터의 데이터 통신 시스템은 크게 정보를 보내는 송신 측과 정보 전달을 담당하는 전송 매체(=채널), 그리고 정보를 받는 수신 측으로 구분할 수 있습니다.이러한 구조를 그림으로 표현하면 아래와 같습니다.  데이터 통신을 위해 송신 측에서 담당하는 기능은 다음과 같습니다.부호화(encoding)정보원 부호화 (source encoding)채널 부호화(chanel encoding)암호화(encryption)다중화(multiplexing)변조(modulation) 송신 측 담당 기능구분설명정보원 부호화(source encoding)음성이나 영상과 같은 아날로그 정보를 ..
[운영체제] 디스크 스케줄링 개요오늘은 디스크 스케줄링에 대해서 알아보도록 하겠습니다.요즘 컴퓨터에서 사용하는 저장장치의 종류는 정말 다양해졌습니다.과거에는 플로피 디스크라고 해서 오늘날의 ‘저장’ 버튼에 해당하는 저장장치부터 시작해서 하드 디스크, 그리고 SSD까지 시간이 지날수록 저장소의 저장 속도는 빨라졌고, 용량은 많아졌습니다. 이러한 눈부신 저장장치의 하드웨어적 발전 속에서,디스크 스케줄링은 다소 생소한 개념이 된 것 같습니다. 디스크 스케줄링은 컴퓨터 디스크에서 정보를 빠르고 효율적으로 입출력하기 위해 고안된 스케줄링 전략입니다. 지금까지 운영체제는 주로 CPU와 같이 비교적 비싼 자원에 대해서 어떻게 관리하고 있는지 소개했는데요. 오늘은 운영체제가 플로피 디스크부터 하드 디스크, SSD까지 외부 저..
[운영체제] 선점 스케줄링(Preemptive)과 비선점 스케줄링(Nonpreemptive) 기법 개요 오늘은 지난 포스팅에 이어서 실제로 운영체제가 프로세스에게 컴퓨터 자원을 효율적으로 분배하는 전략, 즉 스케줄링 기법에 대해서 알아보도록 하겠습니다. 선점 스케줄링(Preemptive)과 비선점 스케줄링(Nonpreemptive) 기법 운영체제는 CPU, 즉 중앙처리장치라는 비싼 자원을 각 프로세스에게 공정하고 효율적으로 분배하기 위하여 다양한 전략을 채택하고 있습니다. 이 과정에서 어떤 프로세스가 운영체제로부터 중앙처리장치를 할당받은 뒤에 또 다른 프로세스가 중앙처리장치를 요구한다면, 운영체제는 ① 다른 프로세스에게 기다리게 하거나, ② 프로세스의 우선순위를 고려하여 더 높은 우선순위를 가진 프로세스에게 강제로 CPU를 할당해줄수도 있습니다. 이 때, ①의 방식으로 컴퓨터 자원을 관리 하는 기법을..