그림으로 배우는 리눅스 구조 선배가 옆에서 하나하나 알려주듯 친절히 설명해주는 실습과 그림으로 배우는 리눅스 지식의 모든 것 * Go 언어와 Python, Bash 스크립트 실습 코드 제공 * 이 도서는 『실습과 그림으로 배우는 리눅스 구조』의 개정판입니다. 리눅스 커널 책의 두께와 깊이에 질려 중간에 포기했던 경험이 있는 엔지니어라면, 『그림으로 배우는 리눅스 구조』로 다시 한번 도전해 보길 권장합니다. 이 책은 컴퓨터 시스템을 구성하는 OS나 하드웨어를 직접 동작해 보며 리눅스 개념을 종합적으로 이해할 수 있도록 다양한 실습을 제공합니다. 또한 리눅스가 무엇인지, 리눅스에 포함된 다양한 프로그램에는 어떠한 것이 있는지, 리눅스 프로그램의 필요성 등을 그림으로 친절하게 설명합니다. Go, Python으..
CPU 스케줄링 개요 프로세스 우선순위 CPU 스케줄링(CPU scheduling): 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것 입출력 작업이 많은 프로세스(입출력 집중 프로세스)의 우선순위는 ---잠깐만 빨리 쓰고 돌려주기 때문에 CPU 작업이 많은 프로세스(CPU 집중 프로세스)의 우선순위보다 높다 이렇듯 운영체제는 프로세스의 중요도에 맞게 CPU를 이용할 수 있게 우선순위를 부여 (프로세스 우선순위) 입출력 집중 프로세스 : 비디오 재생 및 디스크 백업 등 입출력 작업이 많은 프로세스 CPU 집중 프로세스 : 수학연산, 컴파일, 그래픽 처리 등 CPU 작업이 많은 프로세스 ※CPU 버스트와 입출력 버스트 CPU 버스트 : CPU를 이용하는 작업 입출력 버스트 : 입출력장..
프로세스 개요 프로세스 직접 확인하기 더보기 F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 80 0 - 41681 - 04:08 ? 00:00:02 /sbin/init splash 1 S root 2 0 0 80 0 - 0 - 04:08 ? 00:00:00 [kthreadd] 1 I root 3 2 0 60 -20 - 0 - 04:08 ? 00:00:00 [rcu_gp] 1 I root 4 2 0 60 -20 - 0 - 04:08 ? 00:00:00 [rcu_par_gp] 1 I root 5 2 0 60 -20 - 0 - 04:08 ? 00:00:00 [slub_flushwq] 1 I root 6 2 0 60 -20 -..
운영체제를 알아야 하는 이유 운영체제 시스템 자원 : 프로그램 실행에 필요한 요소들 ( CPU,메모리,입출력 장치 기타,네트워크 등등) 운영체제 : 프로그램이 실행되기 위해 필요한 자원들을 할당하고 올바르게 실행시키기 위해 돕는 특별한 프로그램 운영체제는 특별한 프로그램이기에 컴퓨터 부팅시 매모리내에 커널 영역이라 하는 공간에 따로 적재됨 그리고 이외의 다른 영역들은 응용프로그램이 동작하는 사용자 영역이라 부름 그림과 같이 응용프로그램들을 적당한 메모리 주소가 겹치지 않도록 적재해주면서 삭제하고 지속적으로 메모리 자원을 관리하는 역활을 함 운영체제를 알아야 하는 이유 운영체제는 사용자를 위한 프로그램 X , 프로그램을 위한 특별한 프로그램 운영체제가 제공하는 기능으로 인해서 개발자는 하드웨어를 조작하는 ..
강의에서 소개 해주지 않은 RAID 종류 RAID 2 RAID 0과 같이 스트라이핑으로 "비트 단위" 데이터를 저장하며 오류 검출과 복구를 위해 해밍코드를 사용합니다. 디스크 0,1,2,3 에는 RAID 0과 같이 "비트 단위" 데이터를 저장하고 디스크 4,5,6 에는 해밍코드를 저장합니다. 장점 : 오류 검출코드인 해밍코드가 저장되어있어 데이터 오류 확인 및 복구 가능하다. 단점 : 비트단위로 스트라이핑되어있어 입출력이 느리며 , 추가적인 디스크가 필요하고(해밍코드),시스템 복잡도가 높아져 사용하지 않는 기술입니다. RAID 3 RAID 0과 같이 스트라이핑으로 "바이트 단위" 데이터를 저장하며 추가로 분리된 디스크에 패리티 코드를 추가하여 하나의 디스크가 고장나도 복구할 수 있습니다. 디스크 0,1,..
2024.01.18 - [컴퓨터 사이언스/컴퓨터 구조 & 운영체제] - [혼공컴운] 컴퓨터 구조 chapter 6 2024.01.20 - [컴퓨터 사이언스/컴퓨터 구조 & 운영체제] - [혼공컴운] 컴퓨터 구조 chapter 7 2024.01.20 - [컴퓨터 사이언스/컴퓨터 구조 & 운영체제] - [혼공컴운] 컴퓨터 구조 chapter 8 2024.01.22 - [컴퓨터 사이언스/컴퓨터 구조 & 운영체제] - [혼공컴운] 컴퓨터구조 3주차 번외편 - 메모리 2024.01.23 - [컴퓨터 사이언스/컴퓨터 구조 & 운영체제] - [혼공컴운] 컴퓨터 구조 3회차 번외편 - 보조기억장치 오늘도 지각인 핫산입니다... 공부는 다해놓고 미션을 수행하고 제출해야하는걸 잊어먹어서 화요일날 제출하게 되었습니다 흑흑 ..
메모리 관련 사건 및 기술 SSD - 오버 프리비저닝 오버 프로비저닝 : SSD 컨트롤러는 남는 SSD 용량 일부를 쓰레기 수집과 마모 평준화를 위한 캐시 공간으로 할당하여 입출력 속도를 높이고 수명을 연장시켜 준다. ※마모 평준화 : 플래시 메모리에서 삭제가 전반적으로 일어나도록 하는 기술 // 특정 메모리에서만 삭제 및 쓰기가 반복되면 수명이 줄어든다. 인 메모리 데이터베이스 Redis 오픈 소스 인메모리 NoSQL Key-Value 데이터베이스 Redis 입니다. 일반적으로 잘 알려진 다른 데이터베이스들(Oracle RDBMS,Mysql)의 경우 디스크 기반으로 동작하지만 Redis는 디스크가 아닌 메모리에 데이터를 저장함으로써 빠른 속도의 입출력을 가진 데이터베이스가 되었습니다. 그래서 웹 서비스..
장치 컨트롤러와 장치 드라이버 장치 컨트롤러 사용이유 첫째, 입출력 장치에는 종류가 너무나도 많다. 장치가 다양하면 장치마다 속도, 데이터 전송 형식 등도 다양하다 -->다양한 입출력 장치와 정보를 주고받는 방식을 규격화하기 어렵다 둘째,일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다 ※데이터 전송률 : 데이터를 얼마나 빨리 교환할 수 있는지를 나타냄 이런 이유로 장치 컨트롤러를 통해 컴퓨터와 연결된다. 장치 컨트롤러의 역할 1 . CPU와 입출력장치 간의 통신을 중개 - 규격화가능! 2 . 오류 검출 3 . 데이터 버퍼링 ※데이터 버퍼링 : 전송률이 높은 장치와 낮은 장치 사이에 주고받는 데이터를 버퍼라는 임시 저장 공간에 저장하여 전송률을 비슷하게 맞추는 방법 장..