학교생활 18

프론트엔드 개발자 직무특강 후기

소개. 1. 멘토소개: 우아한 형제들에서 우아한 테크노스 프론트엔드 개발자 2. 회사소개: 우아한 형제들 3. 직무소개: 프론트엔드 개발자 --> 디자인과 개발의 영역에 교차 , 프론트엔드 교육 직무특강 1. 주요업무: MBC 아무튼 출근, 천인우 자료 참고 1-1) 개발자들의 앱도구 slak 커뮤니케이션 도구: 개발자에게 좋음(개발자 메신저) 구글캘린더 칸반 보드(노션, 아틀라시안) : 할일관리 어플리게이션 1-2 비개발자들에게 어떤 요구가 왜 안되는지, 어떻게 구현되는지 설명할 줄 알아야 함(소통) 언제 어디서나 급 회의해야 함 (소통) 코딩 2. 실무역량 추천영상: 프로그래머는 코딩하는 사람이 아닙니다. 개발자는 문제 해결사! 개발자의 소통! 컴퓨터는 물론 감정이 존재하는 사람들과도 대화해야 함. ..

학교생활 2022.11.28

[운영체제] Ch6(2)

HW적 솔루션은 이용이 어렵고 실수했을 시 문제가 일어나기 때문에 접근하기 쉬운 API를 사용해보자. API는 OS마다 함수 이름은 틀림 Mutex Locks 들어갈때는 acquire(), 나올때는 release() acquire()를 할려고 하는데 CS를 누가 사용하고 있으면 busy waiting을 한다. --busy waiting: acquire()를 해도 되는지 계속 확인한다.(ready 상태 반복)[spinlock] HW에서 제공사는 test-and-set과 compare-and-swap을 이용해서 acquire()와 release()를 구현하면 된다. Semaphores Mutex보다 상위개념 한 프로세스가 다른 프로세스에게 이벤트가 일어났다는 것을 알릴 때 사용할 수도 있다. Semaphor..

[운영체제] Ch6(1) Race condition & CS Problem & Peterson's Solution

Race Condition: 같은 프로그램을 수행하는데 결과가 상대적인 속도에 따라 다르게 나오는 것. 예시: Producer-Consumer problem [설명] counter++가 모두 수행 된 후 counter--가 수행되어야지(혹은 반대) counter값이 둘 다 똑같이 5가 된다. (기대한 결과) 하지만 예제처럼 동시에 수행하면서 실행이 뒤섞인다면 counter는 각각 6과 4과 되면서 동기화가 되지 않는다. The Critical-Section Problem race condition을 방지하기 위해 CS를 잘 보호해야 한다. CS: 민감한 정보에 두개 이상의 프로세스가 접근해서 동시에 정보를 변경하면 문제가 생기는 부분. [해결 방법의 조건] 1. Mutual Exclusion(상호배제):..

[운영체제] Ch5(3)Real-Time Cpu scheduling & Operating Systems Examples

Real-Time Cpu scheduling : deadline안에만 수행하면 성능이 100%인 것.(빨리 응답을 한다고 해서 성능이 더 좋은 건 아님) Soft real-time systems: deadline을 넘기면 성능은 급격히 떨어지지만 사용은 가능(영상 등) Hard real-time systems: deadline을 넘기면 성능은 0%(항공기 제어 등) Event latency 어떠한 일을 하는데 걸리는 시간 Interrupt latency: Interrupt가 와서부터 Interrupt Service routine을 시작하기까지 걸리는 시간. dispatch latency: [low-level process가 access하던 자원을 high level process가 기다려야 하는 시간] ..

[운영체제] Ch5(2) Thread Scheduling & Multi-processor scheduling

Thread Scheduling many-to-one이나, many-to-many모델에서는, kernel thread가 어떤 user thread에게 LWP를 할당(맵핑)할지 정해야 한다. PCS, SCS: kernel thread가 어떤 user thread에게 LWP를 할당(맵핑)할지 정하는 것. Process-contention scope(PCS): 한 프로세스에서 경쟁 system-contention scpoe(SCS): 모든 시스템에서 경쟁 Multiple-Processor Scheduling Multiple processor: 한 컴퓨터 안에 CPU가 많다는 것 Multi-core: 한 CPU안에 core가 많다는 것 Mulththreaded cores: 한 core안에 하드웨어적인 threa..

[운영체제] Ch5(1) Scheduling Criteria & Scheduling Algorithms

개요 CPU burst: cpu가 일을 하는 시간 I/O burst: I/O를 기다리는 시간 CPU utilization: CPU가 노는 일이 없게 하는 것. 아래 그래프: CPU burst duration은 짧은것에 비하여 frquency는 높다. --> CPU는 시간이 짧게 걸리는 일을 자주한다. CPU Scheduler: ready queue에서 어떤 프로세스들에게 CPU시간을 할당하지 정한다. [cpu scheduling 결정을 해야하는 순간들] 1. Switches from running to waiting state 2. Switches from running to ready state 3. Switches from waiting to ready 4. Terminates 1, 4: CPU를 사..

[운영체제] Ch4(2)Implicit Threading

Implicit Threading : 애플리케이션 프로그래머가 쓰레드 생성을 하겠다는 api를 실질적으로 사용하는 것. --> 더 쉽게 멀티쓰레드를 만드는 것. 컴파일러나 라이브러리가 프로그래머 대신에 OS에서 thread를 만들어 준다. 1. Thread pool p34 쓰레드를 미리 많이 만들어 놓는다. 미리 만들어 놓으면 프로그램 수행 속도가 더 빠르다. 쓰레드 갯수를 미리 정할수도 있고 동적으로 변화시킬 수도 있다. 2. Fork-Join p37 쓰레드를 세로 만든 후(Fork), 만든 쓰레드에게 일을 시키고 종료되기를 기다린다.(Join) 3. OpenMP(C, C++, FORTURAM) p43 이것을 parallel로 해달라고 컴파일러에게 부탁하는 것 #paragma omp parallel 4..

[운영체제] Ch4(1)Multicore와 Multithread

개요 하나의 app이라도 여러 task를 수행하기 위해 최근 프로그램들은 모두 multithread를 이용한다. multi-process보다 시간도, 자원도, 비용도 더 적게 드는 multi-thread Multi-threaded 장점 응답성 향상 리소스 공유(리소스가 차지하는 메모리 공간 낮아짐) 비용적 측면, context switching 시간 빠름 multicore의 장점을 가져갈 수 있다. Multicore Programming Parallelism VS Concurrency Parallelism병렬처리: core라던지 cpu가 많은 환경 concurrency(Concurrent execution): 하나의 process나 하나의 core지만 소프트웨어적으로 동시에 수행하도록 짜는 것 paral..

[운영체제] Ch3(2)InterProcess Communication(IPC)

Interprocess Communication(IPC) 개념 process끼리의 통신 목적 정보공유 속도증가 모듈러리티(세분화)-->유지보수 용이, 유연성 증가 편의성 IPC 두가지 모델 IPC 모델 설명(2) (a) memory에 write, read (b) 서로 직접 send, receive Producer-Consumer Problem Producer-Consumer model :Producer는 데이터를 생성하고, Consumer는 데이터를 소비하는 모델 unnounded-buffer: 0~1024까지 다 쓰면 다시 0으로 돌아가서 다시 씀. IPC in Shared-Memory Systems https://m.blog.naver.com/demonic3540/221671407431 IPC (4)..