cs 12

SSH란

SSH란 secure shell의 약자로, 컴퓨터와 컴퓨터가 공용 네트워크를 통해 통신할때 보안적으로 안전하게 통신하기 위해 사용하는 네트워크 프로토콜을 말한다.   브라우저가 웹 페이지를 보여주기 위해 서버와 통신할때 HTTP 프로토콜을 이용하는 것과 같이, 서로 다른 컴퓨터들이 쉘을 이용하여 통신하기 위한 프로토콜이 필요했고 FTP,Telnet을 거쳐서 SSH가 사용되고 있다.  원격지의 컴퓨터에 쉘을 통해 안전하게 접속하기 위한 프로토콜   SSH의 등장배경은 ftp,telnet의 경우 컴퓨터가 통신을 할때 메세지가  암호화 되어있지 않아서(평문) 스니핑 공격에 노출되어있었다. 따라서 이러한 스니핑 공격을 막고자 SSH라는 네트워크 프로토콜이 탄생하게 되었다. SSH는 주로 데이터 전송이나 원격 접..

cs/네트워크 2025.01.10

명품 운영체제 9장 - 페이징 메모리 관리

페이징 개념 페이징은 프로세스를 페이지 라고 불리는 고정 크기로 나눈다. 물리 메모리 또한 페이지와 같은 크기인 프레임 으로 분할하여,  프로세스의 각 페이지를 물리 메모리의 프레임에 할당한다.  페이징 기법은 프로세스의 주소 공간을 페이지 크기로 자르기 때문에, 페이지의 경계를 고려하지 않고 코드 데이터 힙을 연이어 배치한다. 하지만 실제 운영체제에서는 코드,데이터,힙을 쉽게 관리하기 위해 데이터와 힙 영역이 서로 다른 페이지에서 시작되도록 배치한다.   페이지의 경계를 고려하지 않는다는게 무슨 말일까? 아래에서 예시를 통해 이해해보자.  페이지 크기는 4KB이고,  프로그램의 논리 주소 공간은 10KB라고 하자. 그리고 프로세스는 아래와 같이 구성된다고 해보자. 코드: 5KB데이터: 3KB힙: 2KB..

cs/운영체제 2024.12.05

명품 운영체제 8장- 메모리 관리, 연속 메모리 할당, 세그먼테이션

메모리 할당운영체제가 새 프로세스를 실행시키거나, 실행중인 프로세스가 메모리가 필요할때 프로세스에게 물리 메모리를 할당 하는 것이다. 그렇다면 프로세스를 물리 메모리의 어느 위치에 적재할지는 어떻게 결정하는 것일까?       운영체제의 메모리 할당 기법은 아래와 같이 구분할 수 있다.       연속 메모리 할당연속 메모리 할당이란 프로세스가 할당 받은 메모리가 한 덩어리로 연속된 공간이라는 의미이다. 연속 메모리 할당은 고정된 공간에 프로세스를 할당하는지, 프로세스의 크기에 따라 가변적으로 변하는지에 따라 고정 크기 할당과 가변 크기 할당으로 나뉜다.  고정 크기 할당메모리 전체를 파티션이라는 고정 크기로 분류하고, 파티션 1개에 프로세스 1개를 넣는 방식이다. 이 방식은 메모리를 고정 크기로 분리하..

cs/운영체제 2024.12.04

7장 교착 상태

교착 상태자원을 소유한 스레드들 사이에서  다른 스레드가 소유한 자원을 요청하여 모든 스레드가 무한정 대기하는 현상이다. 공유 자원에 대한 동기화 문제중 하나이다. 교착상태는 단일 cpu 환경과 멀티 코어 환경 모두에서 발생 할 수 있는 문제다.  교착상태는 사용자 응용프로그램 내에서 주로 발생한다. 커널은 교착상태를 고려하여 매우 정교하게 잘 작성되어있지만 사용자가 작성한 프로그램은 그렇지 않기 때문이다.  하지만 교착상태를 막도록 운영하는 컴퓨터 시스템은 거의 없다. 교착상태를 막기 위해서는 많은 시간과 비용이 들기 때문이다.   교착 상태 유발 요인 자원 멀티스레드가 자원을 동시에 사용하려는 충돌에서 발생  자원과 스레드 스레드가 실행되는 동안 한 개의 자원만 필요한 경우 교착상태가 발생하지 않는다..

cs/운영체제 2024.12.03

명품 운영체제 8장 메모리 관리 - 메모리 주소

물리주소와 논리주소 물리 주소실제 물리 메모리에서 사용하는 주소  논리 주소 (가상 주소) 프로세스 내에서 컴파일러에 의해 매겨지는 주소 논리 주소는 사용자에게 모든 메모리의 주소를 사용하고 있다는 착각과, 프로세스의 코드와 데이터가 0번지 무터 메모리에 적재된다는 착각을 불러일으킨다.   논리 주소의 물리 주소 변환 메인 메모리에 엑세스하여 명령어나 데이터를 얻기 위해서는 논리주소를 물리주소 로 변환해야한다. 이때, 논리 주소를 물리 주소로 바꾸는 방법은 " MMU( 주소 변환 하드웨어) "  를 이용한다.    MMU가 CPU 외부에 있다면, CPU가 발생시키는 주소는 논리 주소이다. 하지만 현재 컴퓨터는 대부분 MMU가 CPU 패키지 내부에 존재하기 때문에, CPU 패키지 바깥으로 나오는 주소는 물..

cs/운영체제 2024.11.18

명품 운영체제 8장 메모리 관리 - 메모리 계층 구조와 메모리 관리 핵심

메모리 계층 구조 메모리 CPU가 실행할 코드와 데이터를 저장하는 장치를 메모리 라고 한다.포괄적으로 컴퓨터 시스템 내에 모든 기억 공간들을 지칭한다.   메모리 계층 구조  컴퓨터 시스템 내에서 메모리는 매우 다양한 곳에 존재한다. cpu레지스터, 메인 메모리, 보조 기억 장치, 캐시 메모리등의 기억 장치들은 읽기 쓰기의 속도와 용량에 따라 계층 구조를 이루고 있는데 이것을 " 메모리 계층 구조 "라고 한다.      레지스터에서 하드 디스크로 갈수록 용량은 커지고,  가격은 싸지며, 읽기쓰기 속도는 느려진다.  캐시메모리  캐시 메모리는 더 빠른 cpu의 작업 처리를 위해 도입된 저장장치이다. 캐시 메모리가 있는 컴퓨터에서 cpu는 캐시로부터만  코드와 데이터를 읽어서 실행하기 때문에, 코드와 데이터..

cs/운영체제 2024.11.18

명품 운영체제 6장 스레드 동기화

스레드 동기화  다수의 스레드들이 공유 데이터에 동시에 접근하여 쓰기를 수행하면 공유 데이터가 훼손되어 문제가 발생 할 수 있다. 공유 데이터에 대한 스레드들의 동시 접근시 발생하는 문제를 해결하는 방법이 바로 스레드 동기화이다.  스레드 동기화란 다수의 스레드가 공유 데이터를 동시에 쓰는 충돌 상황에서, 공유 데이터가 훼손되지 않도록 스레드의 실행을 제어하는 방법이다.  1. 스레드 동기화의 필요성  공유 데이터에 동시 접근시 발생 할 수 있는 문제 왜 다수의 스레드들이 동시에 공유 데이터에 쓰기 작업을 할 때 문제가 발생할까? 예를들어 아래의 코드를 실행한다고 하자. sum= sum+10  이러한 코드는 사람을 위한 코드로  컴퓨터는 이해 할 수 없기 때문에 컴퓨터의 언어로 바꿔서 알려줘야한다. 따라..

cs/운영체제 2024.10.23

네트워크 개론 개정 3판 10장 연습 문제 답

01 네트워크 보안을 위협하는 네 가지 위험 요소에 대해 설명하시오.전송 차단 : 제삼자가 송신측에서 수신측으로 메세지를 전달할 수 없도록 하는 것 가로 채기 : 송신측에서 수신측으로 전달하는 메세지를 제삼자가 도청하는 것 변조  : 송신측에서 수신측으로 전달하는 원본의 메세지를 제삼자가 일부 또는 전부 변경하여 잘못된 데이터를 수신측에 전달 위조  : 제삼자가 메세지를 위조하여 송신측이 전달한 것 처럼 수신측으로 전송하는 것 02 네트워크 보안의 필요성을 설명하시오 해킹, 바이러스 유포, 정보 유출 등 각종 사이버 범죄가 늘어나면서 네트워크 보안의 중요성도 커지고 있다. 인터넷과 모바일 등 정보 기술의 발전으로 수많은 데이터를 공유함으로써 보안을 위협하는 데이터 무단 유출/파괴/변조등 부작용이 발생하고..

cs/네트워크 2024.05.27

네트워크 개론 개정 3판 9장 연습 문제 답

01 네트워크 관리의 필요성을 설명하시오.  네트워크 관리는 제한된 인력과 비용을 활용하여 네트워크의 효율성과 생산성을 높일 수 있 도록 복잡한 네트워크를 제어하는 일련의 과정이다.여기에는 네트워크에 분산된 각종 자원을 분배,관리,분석,평가 하는 기능이 포함된다.네트워크 관리를 통해 자원을 더욱 효율적으로 사용하고 응답시간을 단축 시킬 수 있고,  네트워크 모니터링/트러블 슈팅/유지,보수등을 능률적으로 수행할 수 있다.  02 다섯 가지 네트워크 관리 기능에 대해 설명하시오. OSI표준에서 효율적인 네트워크 관리를 위해 5가지 기능을 제공한다. 장애관리 : 비정상적인 동작을 발견하고 대처하는 기능구성 관리: 문제의 원인을 제거하여 네트워크 장치가 정상적으로 동작하도록 시스템에 적절한 설정을 하는 것  성..

cs/네트워크 2024.05.26

네트워크 개론 개정 3판 7장 연습 문제 답

01 인터넷에서 파일을 전송하는 기본 프로토콜에 대해 설명하시오.파일을 전송하는 기본 프로토콜은 FTP이다.FTP 클라이언트는 자신의 소스 포트 번호로 1023보다 큰 임의의 번호를 사용하고, FTP 서버는 포트 번호로 21을 사용한다.FTP는 크게 두가지 형태로 구분할 수 있다. 하나는 서버에서 부여한 사용자 ID와 PW가 필요한 경우와 정보 공유 측면에서 누구나 접속이 가능한 경우이다.FTP는 기본적인 파일 관리 명령어를 실행할 수 있으므로 파일 이름 수정,삭제,권한 변경등을 수행할 수 있다. 02 클라이언트의 웹 브라우저가 서버에 웹 서비스를 요청하면 서버가 적절한 응답을 하여 클라이언 트의 사용자에게 웹 페이지를 제공하는 서비스는 무엇인가?HTTP  03 HTTP 1.0과 HTTP 1.1의 차이점..

cs/네트워크 2024.05.26