목록[개발 정리] (23)
TechY
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의,9강 Process Management 부모 프로세스의 문맥 (pc까지)을 복사해서 자식 프로세스를 만든다.새로운걸 만드는데 왜 바꾸는걸까기존에 띄워져 있던 프로세스와 아무 관계가 없는 완전히 새로운 프로세스를 실행한다고 하더라도, 복제 작업이 효율성 측면에서 의미가 있다고 한다.완전히 새 프로세스를 만들기 위해 모든 리소스를 처음부터 설정해야 한다면, 이는 매우 비싼 작업임. 반면, fork()로 부모의 현재 상태를 복사한 다음, 필요한 부분만 변경하거나 새로운 실행 파일로 대체(exec)하면 훨씬 효율적으로 새로운 프로세스를 초기화많은 os 는 Copy-On-Write (COW) 기술을 사용하여, 실제로 필요한 데이터만 복사하기 때문에 ..
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의,8강 Process Management 프로세스가 어떻게 만들어지는가? 누가 만드는가? 프로세스의 생성부모 프로세스가 자식 프로세스를 생성 (복제해서 만든다고 함)프로세스 자체가 생성할 수는 없음. 결국 os 가 system call 을 해서 만들어야 함 자식은 부모의 주소 공간을 복사함 binary and os data (ex. pcb)UNIX case : fork() system call 이 새로운 프로세스를 생성자식은 그공간에 새로운 프로그램을 덮어 씌움UNIX case : fork 다음에 이어지는 exec() system call 을 통해 새로운 프로그램을 메모리에 올림프로세스의 트리 (계층 구조) 형성프로세스는 자원을 필요로 함o..
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의,5강 Thread 학생들이 syncIO 와 asyncIO 를 많이들 질문해서 한번 더 말씀해주시면서 시작한다. process 가 입출력이 끝날 때까지 기다려야 하면 그건 syncIO 이다.만약 process 가 입출력을 보내고 바로 다시 cpu 를 잡아서 instruction을 실행할 수 있으면 asyncIO 이다. A thread (or lightweight process) is a basic unit of CPU utilizationthread 를 process 내부에 cpu 수행 단위가 여러개 있는걸 말한다. -> 멋진 말인데 무슨 말이지차근차근 한번 들어보자고.. (수업을 들으면서 동시에 쓰는거라 이게 의식의 흐름이다) 프로세스가 하..
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의,4강 Process 1 Process is a "program in execution" 프로세스의 문맥(context)특정 시점을 놓고 봤을 때, 프로세스가 무엇을 어떻게, 어디까지 실행을 했는지process라는건 실행되면 process만의 독자적인 주소 공간 생성 (code, data, stack 로 구성됨)process가 cpu 를 잡게되면, pc (program counter)가 code 의 어느 부분을 가리키게 되고,매순간, code안의 instruction 을 읽어서, cpu 안으로 불러드려서, register 에 넣고 alu 에서 연산을 해서 register 에 저장하거나 memory 에 저장위 단계를 거치다가, 프로세스가 어디까..
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의,3강 System Structure & Program Execution 2 cpu는 하나의 instruction 을 실행하고 다음 instruction을 실행하기 전에, interrupt 가 들어온 것이 있는지 확인한다.interrupt vector : interrupt의 번호와 주소를 갖고 있다. 번호는 어떤 hw controller인지, (interrupt의 주체) 주소는 memory 상의 주소 (interrupt의 대상)trap 에는 두 가지 종류가 있다.Exception : 프로그램이 오류를 범한 경우 (ex. zero division)System Call : 프로그램이 커널 함수를 호출하는 경우 synchronous I/O I/O ..
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의, 2강 System Structure & Program Execution 1 본 챕터까지는 본격적으로 os 를 얘기하기 앞서 computer HW를 얘기한다고 한다.memory : cpu 의 작업 공간, cpu는 매 clock cycle 마다 메모리에서 기계어를 하나씩 읽어서 실행한다.io device : io device를 전담하는 작업 cpu 같은 것들이 붙어있게 된다. 그걸 device controller 라고 함"disk 의 Head를 어떻게 하겠다"는 cpu 가 아니라 disk 의 device controller 가 함device controller 는 io device를 관리하는 작은 cpudevice controller 로 그들..
kocw 강의 : 이화여자대학교 반효경 교수님의 운영 체제 강의, 1강 Introduction to Operating Systems OSos 는 hw 바로 위에 있는 sw, 다른 모든 sw를 hw 와 연결좁은 의미 : kernel -> 메모리 상주하는 부분넓은 의미 : kernel + other utilitiesRolecomputer system 의 자원을 효율적으로 관리optimal performance given resourcessw 자원도 관리해야 함 (process, file, msg etc)사용자가 computer 를 편리하게 사용하게 해줌fair resource allocation여러 program이 동시에 돌 수 있게cpu 가 빠른 속도로 번갈아 실행memory 공간에 적절히 분배Classi..
배우는 중이라 틀린 정보가 있을 수 있는데, 업데이트되는 공부 내용이 있으면 계속 고치겠습니다. 교정해주시면 감사하겠습니다..! (_ _)concurrency 는 parallelism 과 asyncronous programming 의 pre-conditionparallelism과 asyncronous programming는 concurrency를 달성하는 수단parallelism 에 있는 multi-threading 과 multi-processing 은 os-level 에서 concurrency를 구현async개념들 코루틴(Coroutine): async로 정의된 비동기 함수로, 이벤트 루프가 관리하는 기본 작업 단위태스크(Task): 코루틴을 래핑한 객체로, 이벤트 루프에 의해 스케줄링되고 실행Futu..