목록분류 전체보기 (131)
세리프 따라잡기
PintOS Project2 - WIL 😎 WIL(Weekly I lerned) Lock 대부분의 기능들 안에 공유자원을 동기화하기 위한 코드가 필요 int write(int fd, const void *buffer, unsigned size) { check_address(buffer); lock_acquire(&filesys_lock); ... file_write(file_obj, buffer, size); // 공유자원(file)에 대한 작업 ... lock_release(&filesys_lock); return ret; } file 은 여러 프로세스가 사용할 수 있는 공유 자원이다. ⇒ 파일 관련 system call 처리 함수 안에 lock 추가 필요! TSS**(task state segment..
새롭게 알게 된 것이나 공유하면 좋을 것 같은 정보 적어둬라... 그래서 wil 발표에서 써먹게 ㅇ-ㅇ 아래는 내가 정리한 wil에 쓸 내용~~ 이번 PintOS Project2의 CS적인 부분은? Table of Contents 1. Argument Passing 2. User Memory Access 3. System Calls 4. Process Termination Message 5. Deny Write on Executables = kernel vs user, 둘의 차이 = register에 대해 = 어셈블리어에 대해 = system call에 대해 = page + 페이징 기법 + 페이지 테이블 + 4단계 페이징 기법 = 논리주소와 가상주소의 1:1 매핑의 과정 #내가 참고했던 사이트 정리글 아..
kernel stack & user stack 설명 kernel stack linux kernel stack에 대한 오해 출처 : http://blog.naver.com/lache96?Redirect=Log&logNo=140051... blog.naver.com page fault에 대해 가상 메모리: 상세 정보 먼저 가상 주소 공간(virtual address space)이라는 새로운 개념에 대하여 설명해보겠습니다. 가상 주소 공간이란 어플리케이션이 사용 가능한 최대 주소 공간을 말합니다. 아키텍쳐에 따라서 주소지 web.mit.edu esp, rsp에 대해 스택(Stack) 메모리는 다음과 같이 크게 4가지 영역으로 나누어집니다. 코드영역이 낮은주소 스택영역이 높은주소 쪽이다. 코드영역은 어셈블리어나..
# 탄력적 주소 해제법 (elastic ip) [AWS] Elastic IP(EIP)연결 및 취소 AWS에서 Elastic IP를 설정하는 방법에 대해 알아보자.우선 AWS의 EC2 인스턴의 화면이다.여기서 오른쪽 아래 쯤에 보면 IPv4 퍼블릭 IP 18.217.132.135라고 적혀있는 게 있는데 저게 public IP이다.하지만, 인 velog.io # 인스턴스 삭제법 [AWS] EC2 인스턴스 삭제 111 velog.io
프로그램이 system calls를 통해 os와 상호 작용할 수 있도록. 각 프로세스에는 하나의 스레드만 존재 (멀티 스레드 x) user program에서 운영체제를 테스트함 우리가 수정해야 할 목록 [introduction] Source Files syscall.c, syscall.h 사용자 프로세스가 일부 커널 기능에 액세스하고자 할 때마다 시스템 호출을 호출합니다. 이것은 스켈레톤 시스템 호출 처리기이다. 프로젝트의 파트 2에서는 시스템 호출에 필요한 다른 모든 작업을 수행할 코드를 추가 Q. 스켈레톤 시스템 호출 처리기가 뭐죠? (검색해도 안 나오네ㅠ) exception.c, exception.h 전부는 아니지만 프로젝트 2의 일부 솔루션은 이 파일의 page_fault()를 수정해야 한다 fi..
Pintos Project_1에 해당하는 부분 1. Alarm clock 2-1. Priority Scheduling -2. synchronization -3. Donation --- 1,2는 기본적으로 구현해야 하는 부분 --- 3. Advanced Scheduler --- 3은 옵션 --- 1. 이번 프로젝트를 하면서 알아야했던 것들 (CS적으로) 1. Alarm Clock = 프로세스와 스레드 process & thread + life cycle = 흐름 전환 (문맥 전환) context switching = 인터럽트 interrupt #참고한 강의(반효경) / #강의2 (김덕수) 2-1. Priority Scheduling = 라운드 로빈 round robin = 스케줄링 scheduling -2..
참고한 사이트 정리 [내가 보려고 정리한 글] #condition varialble에 대해 Condition Variable이란? Condition Variable이란? Condition Variable은 특정 조건을 만족하기를 기다리는 변수라는 의미이다. 따라서 이를 이용하여 주로 thread간의 신호 전달을 위해 사용한다. 하나의 thread가 waiting 중이면 조건 ju-hy.tistory.com # condition에 대해 2 [OS] Synchronization(동기화)를 위한 condition variables(조건 변수) - OS 공부 21 안녕하세요! Pingu입니다. 오늘도 열심히 OS에 대해 알아보겠습니다! 지난 글에서는 일반적인 자료구조에 Lock을 상호 배제 구현하여 thread..
간단 기록 1. 범위 로드 밸런싱(Load Balancing) Blocking,Non-blocking & Synchronous,Asynchronous Blocking & Non-Blocking I/O 2. 발표자 - ㅊㅈㅎ, ㅅㅇㅅ 3. 추가적으로 배운 것 - statefull 컴터 1대 = 100 클라 = (컴터 1대가 100이니까) 2대 200으로 살게요~ = 넹~ → 상태가 이미 저장되어 있음 - stateless 컴터 1대 = 100 클라 = 2대 200으로 살게요~ = 예?? 뭐 산다고요? → 상태가 저장이 안 되어 있어서 더 자세하게 쓰지 않는다면 모름 - 김영한님 강의 '모든 http' 듣는 거 추천합니다~ - callback을 쓰는 이유는 시간차를 맞추겠다는 것! a = 1 f1(a+1) ..
권영진 교수님 강의 ~~~ ppt 순서대로 적음!! 문단으로 페이지 넘어가는 것 malloc에서 'sbrk', 'mmap' = system call 1 page fault가 발생 --> 성능차이 2배 퍼포먼스 디버깅 [어떤 것 때문에 느린지를 이해해야함, 운영체제 공부[ 운영체제를 이해할때 중요한 것 탄생 하드웨어가 여러개 있었음 어플리케이션이 직접 쓰게 되면 ->하나 하나 다 짜야했다 운영체제는 하드웨어의 디테일을 숨기고 어플리케이션에게 인터페이스를 만들어주겠다 모든 복잡한건 운영체제가 숨긴다~ abstractions ★ ☆☆☆ why is abstraction ☆☆☆ a반 학생: 세부사항은 무시하고 이해하기 쉽ㄱㅔ 그 함수에 들어갈 인자나 리턴값만 알면 된다 교수 曰 개념: 사람들이 이해하는데 필요하..
#참고 영상 1. proxy -1. 프록시란 '대리' 즉, 남을 대신해 일을 처리하는 것을 말한다. -2. proxy server란 대신 처리하는 서버 = 프록시가 클라이언트와 서버 사이에 위치함. 즉, 클라이언트와 서버 간의 중계 서버를 말함. 통신을 대리 수행하는 서버. 캐시/보안/트래픽 분산 등 여러 장점을 가질 수 있다. 2. forward proxy (일반적으로 말하는 프록시는 포워드 프록시를 말한다) 프록시 서버 설정을 한다 - 인터넷 속도를 향상시키기 위해 proxy 설정을 한다 - 외국에서 접속하는 것처럼 테스트하기 위해 proxy 설정을 한다 - 개인정보를 빼돌린 해커 A씨는 IP추적을 방지하기 위해 proxy 설정 → 이런 말들이 다 forward proxy를 뜻하는 말이다. == 특징..