리눅스 터미널 기초

Linux Terminal Basic

  • top : cpu 프로세스 상황 보여주기

  • PID : Process ID

1
%cpu(s), us(user), sy(system), id(idle), hi(hardware interrupt), si(software interrupt), st(steal time)
  • F를 누르면 fields management로 진입

  • Q로 나갈 수 있음

  • VIRT : Virtual Image(KB) = Virtual Address Space

  • RES = Resident Size = RAM에 있는 page의 총 합

  • F에서 D를 누르면 Field로 가져옴

  • man : manual

  • executable code = code segment

  • mkdir = make directory

  • “=”을 누르면 top에서 모든 것을 다시 볼 수 있음

Demand paging

  • 메모리 관리 메커니즘(MMU 메커니즘)을 사용해서 여러 프로세스가 시스템의 메모리를 효율적으로 공유할 수 있도록 하는 기술

  • 페이지들이 실행 과정에서 실제로 필요해질 때 RAM에 올리는 것

Segmentation with paging

  • 모든 메모리를 Segment로 쪼개고 각 Segment들을 Paging해서 메모리에 올리고 접근하는 방식

  • 현재 모든 운영체제가 이런 방식

Shared memory(공유 메모리)

  • 같은 메모리는 공유해서 씀(다른 프로세스 상에서)

  • 여러 프로그램이 동시에 접근할 수 있는 메모리

Excel File을 python으로 바꾸기

  • 사무 자동화

    • 방법 1

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      import openpyxl as op

      wb = op.load_workbook("exam.xlsx") # 엑셀 파일을 불러옴

      ws = wb.active

      cell_count = list(ws.rows)

      cell_values = list(ws.values)

      li = []

      for i in range(1, len(cell_count)):
      dic = {key : value for key, value in zip(cell_values[0], cell_values[i])}
      li.append(dic)

      # zip는 동일한 갯수의 인덱스를 갖는 시퀀스 자료형을 묶어주는 함수
      # li를 출력해서 확인하자.
    • 방법 2

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      g = ws.rows

      cells = next(g) # iterator 객체에서 내장 함수 next를 쓰면 다음 데이터를 불러옴

      keys = []

      for cell in cells:
      keys.append(cell.value)

      student_data = []

      for row in g:
      dic = {k : c.value for k, c in zip(keys, row)}
      student_data.append(dic)

      # student_data를 출력해서 확인하자.
Share