본문 바로가기

CS18

4. Physical Layer - Digital Signals 디지털 신호는 0과 1로 표현할 수 있는 실제 전기 신호이다. 물리 계층에서는 실제 전기를 통해 bit 정보를 전송하기 때문에 디지털 신호에 대해 알고 있어야 한다. Bit Rate (비트 전송률) 1초 당 비트 전송률이고 Bit Per Second로 bps라고도 한다. 물리적인 장치로 디지털 데이터를 전달할 때 디지털 신호로 전달하게 되는데 그림 A와 같이 bit rate가 몇 bit냐에 따라서 디지털 신호의 레벨을 나누게 된다. 한 줄당 80글자가 있는 문장이 총 24줄 있다고 가정하자. 이를 한 페이지라고 했을 때 총 100페이지가 있다면 이 정보를 채널을 통해 전송하는 Bit Rate는 어떻게 될까? 한 글자는 1Byte = 8bit 이므로 8 * 80 * 24 * 100 으로 1,536,000b.. 2024. 4. 24.
3. Physical Layer - Data와 Signals 그리고 Bandwidth 물리 계층에 대해 들어가기 전에 데이터와 신호에 대한 개념이 필요한가보다. 데이터 통신에서 데이터는 두 가지 종류가 있다. 1. 아날로그 데이터 - 연속적인 정보를 가지고 있는 데이터 2. 디지털 데이터 - 불연속적인 정보를 가지고 있는 데이터 아날로그 데이터와 디지털 데이터를 각 각 신호로 나타내면 그림 A처럼 표현할 수 있다. 각 신호는 주기적인 신호(Periodic)와 비주기적인 신호(Non-Periodic)로 구분할 수 있다. 주기적인 신호는 일정한 패턴이 동일한 시간 내 반복되는 것을 말하고 사이클을 형성한다고 한다. 비주기적인 신호는 시간이 지남에 따라 반복되는 패턴 없이 신호가 바뀌는 것을 말한다. 대표적으로 그림 B와 같은 정형파가 주기적인 신호에 속한다. 그 외, 그림 A와 같은 신호들은.. 2024. 4. 23.
2. Protocol Model Seven layers of the OSI Model OSI는 응용 프로그램 계층, 표현 계층, 세션 계층, 전송 계층, 네트워크 계층, 데이터 링크 계층, 물리 계층으로 7개의 레이어를 가진다. 흔히, 자격증 공부에서는 '물데네 전세표응'으로 외우는 유명한 녀석이다. OSI의 7계층을 살펴보면 프로토콜의 원칙을 잘 지키고 있음을 알 수 있다. 각 레이어는 양방향으로 통신이 되며, 같은 계층을 가지고 있다. 참고로 네트워크, 데이터 링크, 물리 계층의 경우 통신 상 존재하는 중간 라우터, 스위치 등에 의해 추가적인 통신이 발생 각 계층은 어떤 일을 하는지 보자. Physical Layer 물리 계층은 그림 A와 같이 구성되어있다. 프로토콜 원칙에서 설명했지만, 각 계층은 두가지 역할을 수행해야 한다고 했.. 2024. 4. 22.
1. Protocol Layering 프로토콜이 뭘까? 프로토콜(Protocol)은 통신에서 상대방과 통신하는 방법에 대한 규약이다. 어떻게 통신할 것인지를 미리 사전에 정의해놓고 그 방식에 맞게 통신하는 것이다. 만약, 프로토콜이 없다고 가정해보자. A 회사에서 B 회사로 데이터를 전달하는데 그냥 원본 그대로 전송한다. A 회사는 전용 우편함이 존재하고 B 회사는 우편함이 따로 없다. B 회사에서 데이터를 전달 받을 때, 우편함이 없어서 사용자에게 직접 가져다 줘야하는데 우편 기사가 존재한다면 한 명, 한 명에 대해 일일이 물어보고 갖다줘야한다. 만약, B 회사에도 우편함이 존재했고 이 우편을 관리해주는 사람이 존재한다면? 알아서 다 해줄 것이다. 컴퓨터 입장에서 본다면 컴퓨터 시스템이 사용자를 찾기 위해 다른 작업을 처리하지 못하고 시간.. 2024. 4. 22.
14. CPU Scheduling CPU 스케줄링은 왜 생겼을까? 운영체제의 발전을 공부하면서 다중프로그래밍이 도입된 것을 알게됐다. 다중 프로그래밍은 I/O 처리로 인한 CPU Idle Time을 줄여서 CPU 활용률을 향상 시키기 위해서 도입 되었는데 이 때, 다중 처리를 하기 위한 기법이 CPU 스케줄링이다. 스레드까지 공부하면서 알게 된 내용은 CPU는 스레드를 스케줄링해야 한다는 것이다. 근데 어떤 스레드를 선택할 것인지 골라야한다. 위와 같은 정책을 가진 알고리즘을 크게 CPU 스케줄링 알고리즘이라고 하고 엄밀하게는 스레드 스케줄링이라고 한다. 다중 프로그래밍은 2가지 스케줄링을 통해 발생한다. 1. 작업 스케줄링(job scheduling) - 디스크 장치로부터 메모리에 올릴 작업을 선택하는 것이다. 프로세스가 시작하거나 종.. 2024. 4. 22.
7. 프로세스 (Process) 본격적인 운영체제 개념 이전까지는 운영체제를 알기 위한 전반적인 흐름이나 기본적인 지식을 설명하는 내용이었다. 운영체제의 시작을 알리는 프로세스란 도대체 무엇일까? 우리는 Chrome, Kakao Talk와 같은 Application을 프로그램이라고 부른다. 이 녀석들은 HDD나 SSD에 저장되어있다. 바로가기 icon에 대해 '우클릭 - 속성 - 파일위치열기'를 눌러보면 정확한 프로그램을 찾을 수 있다. windows에서는 Chrome.exe와 같은 *.exe 확장자가 붙는데 이것을 프로그램이라고 한다. 앞에서 프로세스도 *.exe라고 다룬적이 있다. 맞지만 조금 다르다. exe 파일에는 코드, 데이터, 스택, 힙 공간이 목적 코드로 작성되어있는데 이 실행파일을 실행했을 경우 메모리에 적재되는데 실행 .. 2024. 4. 21.
5. 운영체제의 역할 운영체제에 필요한 컴퓨터 시스템은 어떻게 구성되어 있을까? 운영체제의 역할에 대해 이해하려면 먼저 컴퓨터 시스템의 구조를 알아야한다. 우리는 1. 운영체제란? 에서 컴퓨터 시스템의 기본적인 구조를 확인했었다. 크게 응용 SW OS HW의 계층을 갖고 있는데 여기서 OS가 사용자(응용 SW)와 HW 간에 중계 역할(인터페이스)을 수행하고 있기 때문이다. 그래서 OS는 자원에 대해 배타적 독점을 하고 있고 사용자나 SW는 OS를 통해서만 HW에 접근할 수 있다는 특징이 있다. 사실 이 내용은 OS의 선수과목으로 언급되는 컴퓨터 구조나 시스템 프로그래밍에서 공부해야 할 내용인데 이미 알더라도 복습하는 내용으로 넘어가려고 한다. CPU(Central Processing Unit)는 중앙처리장치로 메모리에 적재된.. 2024. 4. 21.
4. 시분할 다중프로그래밍(Time Sharing Multi-Programming) OS 시분할 다중 프로그래밍의 출현 배경? 시분할 다중 프로그래밍은 다중 프로그래밍 기법과 거의 동시에 연구가 시작되었다. 다중 프로그래밍과 마찬가지로 배치 처리에 대한 문제점을 개선하고자 연구되었으나 다중 프로그래밍 방식의 문제점도 발견하고 연구하게 되었다. 발견한 문제점은 비대화식 처리 방식과 그로 인한 느린 응답, 오랜 대기 시간의 문제이다. 대화식 시스템 시분할 운영체제는 사용자에게 빠른 응답을 제공하기 위해 대화식 시스템을 제안했다. 키보드와 모니터를 통해 메인 컴퓨터에 모뎀 간 연결 후 시간에 따른 처리를 하는 방법이다. 각 사용자는 메인 PC에 여러 키보드와 여러 터미널을 통해 응답 받을 수 있다. 핵심은 사용자의 입력 속도보다 컴퓨터의 연산 속도가 빠르므로 사용자 입장에서는 응답이 느리다고 생각.. 2024. 4. 21.
3. 다중 프로그래밍 (Multi-Processing) OS 다중 프로그래밍 기법이 출현한 배경을 생각해보자. 이전, 배치 처리에서 어떤 문제로 인해 다중프로그래밍 방식의 아이디어가 제안 되었을 것이다. 배치 처리는 일괄적으로 처리할 수 있게 되었지만 CPU 작업 중 특정 명령 코드에서 I/O 작업을 요청한다. 그럼 컴퓨터는 CPU 작업을 하다가 I/O 작업을 하게 되는데 이 작업이 반복되는 현상이 발생한 것이다. 실질적으로 컴퓨터에서 처리를 하는 HW는 CPU인데 컴퓨터가 I/O 작업을 하면서 CPU는 대기하는 현상이 발생한다. 이것을 CPU idle time 이라고 한다. CPU IDLE Time을 줄이면 CPU 활용률(처리율)이 증가하게 된다. 그래서 다중 프로그래밍 기법이 출현한 것이다. 다중 프로그래밍 기법은 여러 프로그램을 메모리가 수용할만큼 메모리에 .. 2024. 4. 21.