본문 바로가기

OS4

Python Programming 요약 Contents Part 1. Why should we learn coding? Part 2. History of Computer Part 3. Welcome to Python! Part 4. Object Oriented Programming Part 1. Why should we learn coding? Problem Solving 최초로 컴퓨터가 탄생하고 프로그래머들은 어떻게 컴퓨터로 사람의 언어(이하 자연어) 를 표현해야 할 지 고민 했습니다. 해결방법으로 본인들만의 문자세트를 지정하고 문자인코딩을 통해 문자들을 코딩에 할당했습니다. 그런데 미국인 프로그래머 A씨가 유럽으로 출장을 떠나면서 또 다른 문제점이 생깁니다. 미국에서 잘만 돌아가던 프로그램이 안 돌아가기 시작한겁니다. 이러한 문제를 해결하.. 2022. 6. 9.
직무면접을 위한 공룡책 OS ch.4 Threads 프로세스 작업의 흐름 Single Thread vs Multi Thread single - 한번에 하나의 작업만 수행 multi - 동시에 여러 작업을 수행 Why we use multi-thread? → 두 프로세서가 하나의 데이터를 공유하기 위해선 메세지 패싱 or 공유 메모리 or 공유 파이프 사용이 필요하다. 이는 효율도 떨어지고, 구현 및 관리도 번거롭다. → Context switch가 계속 일어나면 성능저하가 발생된다. Thread 전환은 비교적 속도가 더 빠르다. Multithreaded Server Architecture & Multicore Programming 서버나 클라이언트 사이도 멀티쓰레드로 구현한다. 클라이언트가 서버에게 요청을 보내면 서버는 새로운 쓰레드를 생성.. 2020. 11. 10.
직무면접을 위한 공룡책 OS ch.3 Process State 처음 생성되면 new, 할당 대기중엔 ready, 실행될때 running, 종료될때 terminated, 완료되어 입출력 기다릴땐 waiting PCB(Process Control Block) 각각의 프로세스는 자신만의 PCB(정보 묶음)을 가지고 있다. PCB에는 프로세스 상태, 프로그램 카운터, 메모리 한계, 레지스터 정보 등이 담겨있다. CPU Switch : 프로세서가 실행되는 중에 인터럽트가 발생해서 운영체제가 개입하여 프로세서에 할당된 프로세스를 바꾸는 행위 (시스템 콜을 사용해야하는 경우 프로세스가 자체적으로 처리할 수 없어서 운영체제가 개입해야 한다.) Threads 프로세스를 쪼개 하나의 프로세스 안에서 동시의 여러 작업을 처리할 수 있도록 한다.(ch5의 내용).. 2020. 10. 29.
직무면접을 위한 공룡책 OS ch.1 Operating System(OS) 컴퓨터 하드웨어를 관리하고 , 소프트웨어와 하드웨어, 사용자를 매개하는 프로그램 운영체제의 역할 사용자 관점(User View 와 System View) User View 사용자가 컴퓨터를 쉽게 이용할 수 있도록 만듬 System View 자원 할당자(Resource allocator)로서 컴퓨터의 자원들을 관리하는 제어 프로그램으로 동작 부트스트랩 프로그램 초기화 프로그램, 컴퓨터의 ROM, EEPROM에 저장되어 있으며 펌웨어(Firmware)라고 불린다. 시스템을 초기화 하고 부트로더(Boot loader)를 실행하며 부트로더가 운영체제를 실행한다. 인터럽트(Interrupt) 컴퓨터에서 신호를 보내 이벤트 발생을 알리는 것을 의미함 소프트웨어에 의해 발생하는 .. 2020. 10. 28.
반응형