공룡책(10판) Chapter 6 요약 여러 프로세스간의 경쟁 문제를 다루는 챕터..! 배경 협력적 프로세스(Cooperating process) 시스템 내에서 서로 영향을 주거나 받는 프로세스 논리적 주소를 공유 혹은은 데이터를 공유한다. 공유 데이터를 동시에 접근하면 데이터의 일관성을 망칠 수 있...
CPU 스케줄링 (CPU Scheduling)
공룡책(10판) Chapter 5 요약 용어들이 넘 많이 나오고 복잡해지고 있어! 기본 개념 _ Basic Concepts 멀티프로그래밍의 목적은 곧 CPU 이용률을 최대화 하는 것이다. 하나의 프로세스는 I/O 요청이 완료되기를 기다리며 놀 수 있는데, 이런 대기 시간은 낭비이기에 어떻게든 굴려먹어야 한다. 중요한 컴퓨터 자원인 CPU 자원을 ...
스레드와 병행성 (Threads & Concurrency)
공룡책(10판) Chapter 4 요약 여태까지의 프로세스는 싱글 스레드. 이제부터 조금씩 복잡해지겠지? 개요 _ Overview 스레드는 llightweight process로 CPU utilization의 기본 단위 cpu를 점유하는 기본 단위이다. 스레드 ID, 프로그램 카운터(PC), 레지스터 집합과 스택으로 구성된다. 전통적인 프로세스...
프로세스 (Process)
공룡책(10판) Chapter 3 요약 슬슬 본격 돌입이다! 프로세스 개념 _ Process Concept - 프로세스란? 모든 CPU 활동들을 어떻게 부를 것인가? 초창기 컴퓨터는 작업(job)을 실행하는 일괄처리 시스템이었고 이는 곧 사용자 프로그램 또는 task를 실행하는 시분할 시스템으로 발전하였는데, 실행된 프로그램이나 메모리 관리...
OS 구조 (Operating System Structures)
공룡책(10판) Chapter 2 요약 좀 더 깊은 맛보기..! 여기 내용은 특히나 깊이 팔 수 있는 부분이 있는 모양이다. 후 챕터에서 자세하게 다룰 내용들이 제법 보인다. 여기서는, 시스템 콜 개념 정도는 알고 넘어가는게 좋을 듯. 운영체제 서비스 _ Operating-System Services 운영체제는 프로그램 실행 환경을 제공한다....
OS 서론 (Introduction)
공룡책(10판) Chapter 1 요약 지난번에 이어 전반적으로 맛을 보는 단계이다. 우선은 가볍게 보자. 운영체제가 할 일 _ What Operation Systems do 컴퓨터 시스템은 하드웨어, 소프트웨어 및 데이터로 구성되어 있으며, 운영체제는 컴퓨터 시스템이 동작할 때 소프트웨어 간의 하드웨어 사용을 제어하여, 유용한 작업을 할 수...
OS 스터디를 시작하기 전에..
운영체제가 무엇인지 대략적으로 가지를 뻗어 보자. Computer? 대략 이야기해서 컴퓨터라는 하드웨어를 운영하는 소프트웨어라고 할 수 있다. 컴퓨터란 정보를 처리하는 기계라고 할 수 있지. 정보 여기서 정보라는 것은 클로드 섀넌(Claude Shannon) 이 정의하기를, 정보량 = 사건이 발생한 확률에 마이너스 로그를 붙인 ...
WSL (Windows Subsystem for Linux) 맛보기 (feat. VS Code)
여러가지로 정신없던 가운데 엄청 오랜만의 포스팅.. 너무 방치해두었다ㅠ 그래도 이제 약간 안정을 되찾게 되었어…. 운영체제 환경 세팅 심기일전도 하고, 좀 화면 큰 노트북을 가지고 싶어서 하나 장만했다. 그랬으면 윈도도 깔고 환경을 구성해야겠지. 뭔가를 만들고 테스트해볼 운영체제 하면 역시 리눅스다. 새로 세팅하고자 하면 항상 설치해왔던 녀석이 V...
아니 왜 사이트 갱신이 안돼? CSS / JS Cache Busting
CSS바꿨는데 왜 적용이 안되지? 테마를 적용해 깃허브 블로그로 올리고 이리저리 커스터마이징을 시도해보는데, 로컬에서 jekyll serve로 서버를 실행하였을 때 잘 보이던 갱신사항들이 제대로 적용되지 않은 현상을 자주 관찰하였다. 평소 프론트 작업하듯 개발자도구 열고 “캐시 비우기 및 강력 새로고침” 을 통해서 해결하려 했지만 어째 블로그 페이지...
DevOps, CI/CD? 다 뭔소리래
데브옵스? 개발자로 지내다보면 DevOps라는 개념이 자주 들린다. ‘Development’와 ‘Operations’의 합성어로 개발과 운영을 아울러 전체 소프트웨어 생명주기를 서로 긴밀하게 통합하여 관리.. 한다는 이야기인거 같다. 소프트웨어 개발 생명주기 (Software Development Life Cycle, SDLC) 시작부터 ...