전체 글
-
[Operating System] 프로세스의 제어 기본 개념운영체제 2023. 3. 20. 17:05
Process Control 프로세스의 제어는 두가지 Mode 에서 일어납니다. 하나는 User Mode 이고 다른 하나는 System Mode 입니다. 유저 모드는 유저 컨텍스트에서 동작하는 시간을 이야기하고 System Mode 는 시스템 컨텍스트에서 동작하는 시간을 이야기합니다. 그리고 이 User Mode 에서 System Mode 로 혹은 그 반대방향으로 이동하는 것을 Mode Change 라고 부릅니다. Virtual Address Space 관점에서 프로세스 제어의 이해 다음과 같이 동작하는 프로세스들이 있다고 생각해봅시다. 프로세스 A는 5000~ 번지부터 인스트럭션이 담겨있습니다. 프로세스 B는 8000~ 번지부터 인스트럭션이 담겨있습니다. 프로세스C는 12000~ 번지부터 인스트럭션이 ..
-
[Operating System] Process Context운영체제 2023. 3. 20. 16:46
Context 의 정의 the execution environment of a program. Process Context 프로세스 컨텍스트는 두가지 부분으로 구성됩니다. User Context System Context User Context 는 프로그래머가 작성한 프로그램에 의해 생성되는 Context 입니다. Code 블럭, Data and bss 블럭, 그리고 유저 프로그램에서 호출되는 함수를 위한 User Stack 블럭으로 이루어져있습니다. System Context 는 커널 영역의 Context 입니다. 커널 내부의 함수를 호출하기 위한 Kernel Stack 과 PCB(Process Control Block) 로 이루어져있습니다. 다음 예시 코드를 살펴보며 프로세스 컨텍스트에 대해 이해해봅..
-
[Operating System] 프로세스 (Process)운영체제 2023. 3. 18. 10:44
프로세스의 정의 프로세스란, 실행 중인 프로그램 (a program in execution) 을 의미합니다. 실행 중 (in execution) 의 의미는 뒤에서 다룰 내용인 프로세스의 Running 상태와는 다른의미입니다. 프로그램은 인스트럭션의 연속이었음을 떠올리며 공부해봅시다. 프로세스는 누구에 의해 생성되는가? 프로세스는 무엇에 의해 생성될 수 있을까요? 1. By a human 사람이 GUI 나 Command Line Interface 와 같은 Command Interface 를 통해서 프로그램을 실행시킬 수 있습니다. 즉, 프로세스가 생성될 수 있습니다. 2. By a process 운영체제의 프로세스나 유저 프로세스에 의해서 프로세스가 생성될 수 있습니다. 프로세스는 누구에 의해 종료되는가?..
-
[Operating System] 운영체제의 구조 MonolithicKernel, MicroKernel운영체제 2023. 3. 15. 11:06
운영체제 구조. 모놀리식과 마이크로 운영체제의 구조는 크게 두가지로 나뉩니다. 모놀리식커널 구조와 마이크로 커널구조입니다. MonolithicKernel Architecture 모놀리식 커널구조에는 커널 내에 기능을 다 때려넣은 구조입니다. 각 기능들이 모두 커널 안에 들어있기 때문에 기능들간 통신, 호출하는 속도가 빠릅니다. 단점은 커널 안에 많은 기능이 들어있다보니 커널이 무겁습니다. MicroKernel Architecture 마이크로커널 구조는 모놀리식 형태와는 달리, 커널에 아주 핵심적인 기능(프로세스 관리, 기본적인 메모리 관리)만을 넣어두고, 나머지 부가기능들은 커널 위에서 돌아가는 프로세스(실행중인 프로그램)로 구현합니다. 커널 안에 핵심적인 기능만 담아두기 때문에 커널이 가볍지만, 커널 ..
-
[Operating System] 운영체제의 구성요소운영체제 2023. 3. 15. 10:52
운영체제의 구성요소 운영체제의 요소는 다음과 같습니다. Command-Interpreter System 앞서 살펴본 운영체제의 구성요소들 중 Command-Interpreter System 이 있었습니다. 이에 대해 살펴보겠습니다. Command-Interpreter System 은 사용자가 컴퓨터에게 명령을 내릴 때 사용하는 수단입니다. 대표적으로 우리가 터미널로 알고 있는 CLI (Commnad Line Interface) 와 GUI (Graphical User Interface) 가 있습니다. 사용자가 컴퓨터에게 내리는 명령은 시스템 콜(System Call)에 의해서 수행됩니다. System Call 이란, 프로그램이 컴퓨터에게 명령을 지시하는 수단을 의미합니다. (Command Interpret..
-
[Operating System] Uni-Programming, Multi-Programming, Time Sharing, Multi-Processing카테고리 없음 2023. 3. 15. 00:24
이번에는 Uni-Programming 과 Multi-Programming 그리고 Multi-Processing 에 대해 알아보겠습니다. OS 가 없던 시절의 Processing 방식 OS 가 없던 시절의 초기 컴퓨터에서는 사람이 직접 스위치를 올리고 내려 컴퓨터에게 Binary 형태의 명령을 내려야 했습니다. 하나의 작업을 처리하는 명령어를 컴퓨터에 올리고 처리가 끝나면 모든 스위치를 리셋 한 후, 다음 작업을 처리하는 명령을 컴퓨터에 올리는 방식을 반복해야했습니다. 이를 해결하기 위해 Simple Batch System, Uni-Programming OS 가 없던 초기 컴퓨터는 작업의 수행이 일일이 Manual 한 활동을 요구합니다. 이를 해결하기 위해 Simpe Batch System 이 나타납니다...
-
[Operating System] 운영체제 개요운영체제 2023. 3. 14. 23:42
운영체제란 무엇일까요? 컴퓨터는 CPU, Main Memory, 보조기억장치, I/O Device 등 컴퓨팅 자원, 저장장치를 갖고 있습니다. 이러한 것들을 하드웨어 (Hardware) 라고 부르고 이는 사람의 신체에 해당하는 부분입니다. 운영체제란, 컴퓨터의 뇌와 같은 존재입니다. 사람의 신체를 제어(Control) 하기 위해서는 뇌의 명령이 필요합니다. 컴퓨터도 마찬가지로 컴퓨터의 자원들을 활용하기 위해서는 이들에게 명령을 내려주는 운영체제가 필요합니다. 운영체제가 수행하는 일에는 다음과 같은 것들이 있습니다. Booting Computer : Make the computer ready after power on Process Management, Memory Management Controlling..
-
[Data Communication] 아날로그 신호 -> 디지털 데이터로의 변환데이터 통신 2023. 3. 14. 17:46
물리 계층에서 신호의 모양 물리계층에서는 신호는 0 / 1 즉, 비트로 이루어져 있습니다. 아날로그 신호의 모양 아날로그 신호는 사인함수의 조합으로 구성되어 있습니다. 특히 소리의 경우 높낮이가 주파수, 크기가 Amplitude 로 표현된다는 것을 과학시간에 배운적 있으실겁니다. 인위적으로 진동수와 Amplitude 를 고정한 채 261.626Hz 의 진동을 발생시킨다면 흔히 아는 "도(C)" 의 음높이를 갖는 소리를 들을 수 있을겁니다. 하지만 피아노, 기타와 같은 악기로 같은 "도(C)" 음을 발생시켰을 때 우리는 이것이 도의 음높이를 가진다는 것도 알 수 있지만 이 소리가 기타의 소리인지 피아노의 소리인지도 구분할 수 있습니다. 이것이 가능한 이유는 기타가 발생시키는 파형과 피아노가 발생시키는 파형..