전체 글 68

07. 스레드의 이해

예전에는 하나의 프로세스 에는 하나의 스레드로 실행되었다 하지만 이제는 하나의 프로세스가 여러개의 스레드를 가질 수 있다 Thread liteweight process (LWP) 라고도 함 멀티 스레드를 지원한다면, CPU 를 점유하는 가장 기본적인 단위가 스레드가 됨 ⇒ (pid 가 아니라) tid, program counter, register set, stack 도 스레드 단위 server 에서의 멀티스레딩 client → server → thread : client 에서 server 로 큰 리퀘스트를 보내고, 서버는 새 스레드를 만들어서 다음에 올 리퀘스트들을 받을 수 있다. 멀티스레딩의 장점 Responsiveness ( ) : 유저인터페이스를 처리할 때 blocking 할 일 없이 계속해서 실..

운영체제 2021.09.07

06. 프로세스간 통신의 실제

IPC 시스템의 예제 Shared Memory : POSIX Shared Memory: 운영체제의 표준화(의도대로는 안됨,,) ⇒ Potable Operating System Interface (for uniX) Message : Pipes ⇒ One of the earliest IPC mechanisms on UNIX systems POSIX shared memory /* create */ fd = shm_open(name, O_CREAT | ORDWD, 0666); /* configure the size of the object in bytes */ ftruncate(fd, 4096); // (fd, byte 사이즈) /* establish 메모리 매핑 */ mmap(0, SIZE, PROT_READ..

운영체제 2021.09.06

티스토리 이미지 업로드 붙여넣기 할 때 로딩바가 안사라지는 경우 해결방법

기존에 공부내용 정리를 노션을 이용하고 노션내용을 깔끔하게 정리해서 티스토리에 올리는 경우가 있는데 종종 이미지를 붙여넣기 하는 도중에 로딩바(모달)이 안사라지고 계속 떠있는 경우가 생긴다 ㅜ_ㅜ 로딩바 자체가 화면 위에 뜨기때문에 임시저장버튼이나 올리기 버튼이 안눌러지는데 그럴때면 아주 답답하다......... (티스토리 쓴지 오래 되지 않아서 초보다..) 처음엔 임시저장도 안되어서 다시 써야한다는 생각에 임시저장을 자주 누르곤 했는데 생각해보니 아주 금방 해결할 수 있는거 같아 생각나는대로 해봤더니 해결 되더라 화면 오른쪽클릭 - 검사 를 눌러 개발자도구를 킨다 개발자도구 제일 왼쪽 위 마우스모양 아이콘 (element select 툴)을 누른다 화면을 선택(클릭)한다 Styles 탭에 마우스를 올리..

잡담 2021.09.05

05. 프로세스간 통신

0 - 프로세스가 동시에 동작하는 방법 두가지 독립적 (문제없음) : 공유하는 데이터가 없는 것 cooperating process (이때 문제가 생길 수 있음) : 공유하는 데이터가 있는 것 1 - IPC : Inter-Process Communication : 프로세스끼리 데이터를 공유할 때 필요한 메커니즘 데이터를 주고 받는 것 1.1 - IPC 의 기본적인 요소 메모리를 공유하는 것 (shared memory) 메세지를 주고 받는 것 (message passing) 1.2 - Producer-Consumer Problem 예 : 컴파일러가 어셈블리 코드를 생산하고, 어셈블러가 소비하는 것 예 : 웹서버가 HTML 파일을 생산하고, 브라우저가 소비하는 것 2 - shared-memory 각 프로세스..

운영체제 2021.09.05

03. 프로세스의 이해

- 본 글은 인프런 공룡책 운영체제 강의를 듣고 정리한 내용입니다 프로세스 프로세스란 실행중인 프로그램 프로세스가 실행되려면 cpu 를 쓸수있어야 함 메모리에 올라가있어야 함 리소스들을 관리할 수 있어야함 (files, I/O device) 프로그램 사이즈 확인 방법 $ size ./a.out text data bss(initialized data) dec hex filename 순으로 출력된다 프로세스의 생명주기(Life cycle) new : 프로세스 생성 (fork 같은게 실행된) Running : 프로세스를 CPU에 로딩한 상태 Waiting : CPU 가 다른 프로세스를 실행중이라면 대기하는 상태 I/O 대기 같은 것 (queue) Ready : waiting 에서 준비가 되었다는걸 알리는 상태..

운영체제 2021.09.03

02. 운영체제의 개념과 구조

- 본 글은 인프런 공룡책 운영체제 강의를 듣고 정리한 내용입니다 0. Operating system 컴퓨터의 하드웨어를 관리해주는 소프트웨어 어플리케이션 프로그램, 하드웨어와 유저간의 연결을 해주는 역할 가장 핵심적인 것은 Kernel 1. 0 - Classical computer system 책에선 modern 이라 나옴 CPU, bus 로 연결된 여러개의 device controllers 로 구성되어 있다 1. 1 - Bootstrap 컴퓨터가 시작되자마자 가장먼저 실행하는 프로그램 ( 부팅 프로그램 ) 운영체제를 메모리에 로딩한다 1.2 - Interrupts I/O 디바이스 에서 신호가 있을 때 그 신호를 통신해주는 것 system bus 를 통해 CPU에 signal을 보내준다 1.3 - 폰노..

운영체제 2021.09.02

01. 운영체제 기초

참고 자료 🦕 공룡책으로 정리하는 운영체제 Ch.1 운영체제란 ? 컴퓨터의 하드웨어를 관리하고, 하드웨어와 소프트웨어, 사용자를 매개하는 프로그램 자원을 효율적으로 관리 커널은 운영체제의 핵심 유저입장, 시스템입장에 따라 특징이 나뉜다 컴퓨터 시스템의 요소는 하드웨어(CPU, 메모리, 입출력장치 등), 운영체제, 어플리케이션 프로그램(웹 브라우저, 워드프로세서 등), 유저로 나뉜다. 컴퓨터 시스템 구조 크게는 CPU, Memory, 그외의 주변장치들로 나뉜다. Computer Startup : 컴퓨터를 켜면 부트스트랩 프로그램이라는 초기화 프로그램이 실행된다. 이 프로그램이 부트로더를 실행함. (부트스트랩 프로그램은 컴퓨터자체에 내장된 프로그램, 부트로더는 디스크에 저장되어있음) 첫 실행되는 시스템 프로..

운영체제 2021.09.01