공부 학습 45

운영체제 4주차 -1

Multithread 각종 독립적인 일을 동시에 수행하기 위해 Thread를 사용한다. Process Creation이 무거운 작업이라면 그에 비해 Thread Creation은 가벼운 축에 속한다. 현대의 Kernel들은 거의 MultiThread를 사용한다. thread마다 고유의 Register, Stack, PC를 가지고 있어서 다른 실행 경로를 가진다. 다만 코드와 파일 들은 공유하여 가볍게 실행될수 있다. 서버에서 Multithread를 사용할는 경우 Server에 request가 들어오면 그에 응하는 작업을 실행해야 하는데 이때 새로운 Thread를 생성하고 본인은 지속적으로 Request가 들어오는 지 확인한다. Thread의 장점 응답성이 좋다: 프로세스가 부분적으로 Blocking이 되..

공부 학습 2021.03.22

운영체제 3주차 - 2

Shared memory Interprocessor Communication process들이 통신하기 원하는 메모리를 공유하는 영역 이 통신은 OS가 아닌 user의 프로세스의 관할로 이루어진다. 이 메커니즘의 주된 문제점은 Shared memory에 접근할때, user의 프로세스가 동기화 될것인가가 문제이다. (이에 대한 문제는 이후에 다룰것이다.) Shared Data Code / Producer Process#define BUFFER_SIZE 10 typedef struct { ... } item; item buffer[BUFFER_SIZE]; int in = 0; // 새로운 아이템을 넣을 위치 int out = 0; // 지금 사용하고 있는 아이템 위치 위와 같은 솔루션으로 실행될 경우 BUF..

공부 학습 2021.03.16

시스템프로그래밍 2주차

File System Call File concept은 다양한 종류가 있다: Numeric, Character, binary 그리고 Program File도 하나의 파일이라고 할 수 있다. File Structure 일반 파일 : 문자열, binary file 단순 기록 구조(Simple record structure) 줄글 고정값 변수값 복잡한 구조(Complex Structure) 형식이 있는 문서 재 할당 파일 이 모든 파일이 OS와 프로그램이 결정지어줌 File Attribute 파일의 속성에는 다음과 같은 속성들이 있다. Name Type Location Size Protection Time, date, User ID File Operate File을 다루는 함수에는 다음과 같은 함수가 있다. ..

공부 학습 2021.03.15

운영체제 3주차 - 1

process Concept 운영체제는 모든 종류의 프로그램을 Process의 형태로 실행한다. Process는 프로그램이 실행중인 것을 정의로 한다. Program Code는 text Section이라고 하며 모든 실행중인 프로세스는 Program Counter과 process Register를 갖는다. 프로그램이 실행될때 메게변수, 리턴값, 지역변수 같은 임시적인 데이터를 Stack에 저장하게 된다. 전역변수는 Data Section에 저장되며 Heap은 프로그램 실행중 동적으로 할당되는 메모리가 저장되도록 관리한다. Data Section에는 프로그램의 전반에 걸쳐 저장되는 데이터가 저장되는 별도의 공간이다. 프로그램은 디스크에 저장된 수동적(Passive) entity라고도 하고 실행되면 능동적(..

공부 학습 2021.03.15

시스템 논문 리뷰 1

서론 기회가 닿아서 시스템 / IOT 분야의 논문을 읽게 되었다. 지금부터 그 논문의 리뷰를 시작하겠다. 이래저래 논문 읽는 법이 나와 있지만 난생 처음 논문을 접하는 만큼 요령없이 처음 부터 끝까지 정독하기로 했다. 논문 제목은 "Maintaining Real-Time Data Freshness in Wireless Powered Communication Networks"이다. 한국어로 해석하면 "무선 전원 통신 장치에서의 실시간 데이터 갱신 유지하기" 정도로 해석할 수 있을 것이다. 본 논문은 Zimeng Zhou 외 4인이 발표한 논문이며 2020 IEEE RTSS에 선정된 논문이다. 2020년 3월 15일 - 시작~서론까지 Abstarct 본 논문은 전원이 제한적인 무선 전원 통신장치(Wirele..

공부 학습 2021.03.15

운영체제 2주차 - 3

1. Layered Approach Moule화가 되어 있으면서도 서비스를 사용시에 상위 Layer는 사용 불가능하고 하위 Layer만이 사용 가능하다. Micro Kernel: 기존 Kernel의 덩치를 작게 만든 것 예) MAC OS X Kernel (Darwin) 특징: User에게 전달할때 Massage Passing 방식을 사용한다. 장점: MicroKernel을 쉽게 확장할수 있다., 새로운 구조에 쉽게 포팅이 가능하다, 신뢰도와 보안성이 높다. 단점: User space와 Kernel space가 통신할때 Message Overhead가 생길 확률이 높다. 2. Module OS를 모듈화 함으로서 외부에서 수정을 할수 있는 Loadable Kernel을 사용할수 있다. 객체 지향적 접근법을 ..

공부 학습 2021.03.09

컴퓨터 네트워크 1주차 - 1

NetworkEdge(Host): 네트워크의 말단에서 망에 연결된 노드 Access Link: wired와 wireless에 의해 연결되어 Edge 혹은 node 간에 연결해주는 선, Host 들을 연결해줌 Network core: Router라는 기기를 통해 서로 연결되어 네트워크와 네트워크를 서로 정보를 교환함 프로토콜은 무엇인가?: 개별적인 개체가 의사소통을 하고자 할때 일정하게 정해진 사전 포맷 / EX) TCP connection request 전송후 Response로 받고 기본적인 감도 확인이후 Get http://~를 통해 원하는 용건을 말하고 상대는 그에 해당하는 File이라 응답을 줌... http, TCP, FTP..등등 모두 Protocal의 P이다. NetWork core에 있는 R..

공부 학습 2021.03.08

운영체제 2주차 - 2

1. Standard C Library Example C언어 에서 Printf()을 실행하면 Kernel Mode에서 Write()함수로 System Call이 된다. 2. System Service System Call와 System Service의 차이점 System Call: Kernel이 가지고 있는 서비스 System Services(Utilities): OS가 가지고 있는 서비스 프로그램 개발과 실행에 굉장한 편의성을 제공한다 File manipulation: 파일 관리를 아주 편리하게!, 상태정보와 언어 컴파일러에 대한 제공!, 프로그램 로딩!, Apllication Program 관리! 대부분의 유저는 실제 System Call말고도 System program까지도 OS의 일환이라고 본다...

공부 학습 2021.03.08

운영체제 2주차 - 1

2장- Operating-System Structure 1. Operating System Service: 운영체제가 제공하는 서비스 OS는 프로그램과 서비스가 제공될 환경을 제공한다. ex)User Interface, CLI, I/O Operation, Program execution FileSystem manipulation(파일 관리) / Communication(통신) ex) Shared Memory, Message Passing / Error detect Resource allocation: 여러가지 형태의 공유자원을 분배하고 공평하게 할당 Logging: 시스템이 사용하는 여러 업무을 기록하는것 Protection : 시스템에 대한 접근 통제 / Security : 시스템에 고의적으로 좋지 않..

공부 학습 2021.03.08

운영체제 1주차 - 3

1.Computer-System Architecture 대부분의 컴퓨터는 General-purpose processor를 가지며 필요에 따라 special-purpose processor를 가지기도 한다. Multiprocessor는 하나의 컴퓨터에 여러개의 CPU를 가지는 것을 뜻한다. 그래서 CPU들은 병렬적으로 구동될수 있으며 (parallel System), Bus를 통해 그들간에 데이터를 공유활수 있다.(tightly-coupled System) (loosely-coupled System: 분산 네트워크 시스템) 이러한 구조의 장점은 처리율과 경제성, 그리고 신뢰성을 높일수 있다. 신뢰성이 높다: 복수의 장치중 하나가 고장나더라고 전체적인 구동에 문제가 생기지 않는 척도 Multiprocesso..

공부 학습 2021.03.04